2012-07-06 140 views
1

我有两张桌子。一个是具有唯一ID字段的用户表,另一个是数据表,列中保存生成该数据片段的用户的用户标识。在mySQL查询中交叉引用表?

我想这样做SELECT data,genned_by FROM datatable;但我想SELECT username FROM users WHERE id = genned_by

,以取代genned_by结果让从查询的结果改变了用户标识到与其他表对应一个用户名。

我做了一些研究,并认为INNER JOIN可能是我正在寻找的东西,但是我在读完它后很不确定如何使用它。帮帮我?

回答

1
SELECT datatable.data,users.username 
FROM datatable, users 
WHERE users.id = datatable.genned_by 
+1

“JOIN” 在WHERE子句很烂! – fancyPants 2012-07-06 07:43:19

+0

@tombom为什么呢? – alfasin 2012-07-06 07:44:34

+0

这工作。我不敢相信我忽略了这样一个明显的解决方案。也许我只是想让自己变得更难? – saihenjin 2012-07-06 07:46:18

4

尝试使用

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