在mySQL查询中交叉引用表?
问题描述:
我有两张桌子。一个是具有唯一ID字段的用户表,另一个是数据表,列中保存生成该数据片段的用户的用户标识。在mySQL查询中交叉引用表?
我想这样做SELECT data,genned_by FROM datatable;
但我想SELECT username FROM users WHERE id = genned_by
,以取代genned_by
结果让从查询的结果改变了用户标识到与其他表对应一个用户名。
我做了一些研究,并认为INNER JOIN
可能是我正在寻找的东西,但是我在读完它后很不确定如何使用它。帮帮我?
答
SELECT datatable.data,users.username
FROM datatable, users
WHERE users.id = datatable.genned_by
答
尝试使用
SELECT d.data, u.username FROM database d INNER JOIN user u ON u.id=d.genned_by
希望它可以帮助你
+0
:)谢谢。这有助于我理解INNER JOIN语法现在应该如何工作。 – saihenjin 2012-07-06 07:56:41
“JOIN” 在WHERE子句很烂! – fancyPants 2012-07-06 07:43:19
@tombom为什么呢? – alfasin 2012-07-06 07:44:34
这工作。我不敢相信我忽略了这样一个明显的解决方案。也许我只是想让自己变得更难? – saihenjin 2012-07-06 07:46:18