我想加入2個表格,併爲每個項目抓取一行。評級的默認值是45.每次在一個類別中有不同的評級時,每個項目行都是重複的。以下是一個示例模式,數據和結果。SQL JOIN重複行
表1
--------------------------
OFID | item |類別
--------------------------
1 | item1 | cat1
2 | item2 | cat1
3 | item3 | CAT1
表2
---------------------------
OFID |評級|類別
---------------------------
1 | 37 | cat1
2 | 42 | cat1
3 | 45 | CAT1
結果
------------------------------------
OFID | item |評級|類別
------------------------------------
1 | item1 | 37 | cat1
1 | item1 | 42 | cat1
1 | item1 | 45 | cat1
2 | item2 | 37 | cat1
2 | item2 | 42 | cat1
2 | item2 | 45 | cat1
3 | item3 | 37 | cat1
3 | item3 | 42 | cat1
3 | item3 | 45 | CAT1
預期結果
------------------------------------
OFID | item | rating
------------------------------------
1 | item1 | 37
2 | item2 | 42
3 | item3 | 45
查詢:
SELECT p.ofid,p.item,r.rating FROM table1 AS p INNER JOIN table2 AS r ON p.category = r.category WHERE p.category = "cat1" GROUP BY p.ofid,p.category,r.rating
我已經嘗試添加DISTINCT,JOIN,LEFT JOIN,RIGHT JOIN ....幫助?
在此先感謝。
請注意,您的「預期結果」有四列,而您的select語句只選擇三列。我認爲這是一個錯字。 – larsks
非常正確。編輯。謝謝你的收穫。 – zero742