2012-07-06 141 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