1
我有以下兩個表:SQL:問題連接表
attributevalueassign
itm_id attr_value_id attr_id
----- ------------- -------
396 237 1
396 20 2
715 274 1
715 16 2
attributevalue
attr_id attr_value_id attr_value
------- ------------- ----------
1 237 3055020
1 274 2454518
2 16 Dunlop
2 20 Vogue
我需要能夠編寫一個查詢,當我提供ITEM_ID(例如:396),我得到以下結果:
itm_id attr_value_id attr_id attr_value
------ ------------- ------- ----------
396 237 1 3055020
396 20 2 Vogue
當我嘗試使用INNER JOIN,我得到更多的行比我想:
SELECT dbo.select_attributevalue.attr_value, dbo.select_attributevalueassign.itm_id
FROM dbo.select_attributevalueassign INNER JOIN
dbo.select_attributevalue ON dbo.select_attributevalueassign.attr_id = dbo.select_attributevalue.attr_id
WHERE (dbo.select_attributevalueassign.itm_id = 396)
itm_id attr_value_id attr_id attr_value
------ ------------- ------- ----------
396 237 1 3055020
396 237 1 2454518
396 20 2 Dunlop
396 20 2 Vogue
所以,我的想法是,我可能抄沒有使用JOIN,但我不知道替代方法。我在這個網站上尋找了一個解決方案,並且有很多關於如何使用聯接刪除重複記錄的問題,但是我沒有看到與我所要求的類似的問題。我對SQL查詢的知識是基本的,所以我不知道該怎麼做。任何幫助將非常感激!
它很好用!謝謝! –