2011-07-18 86 views
-2

所以我累了,但爲什麼不是不同的工作在這裏:SQL鮮明問題

 SELECT DISTINCT Review.user_id, Review.id, User.*, Account.* 
     FROM reviews As Review 
     INNER JOIN users AS User ON Review.user_id = User.id 
     LEFT JOIN accounts AS Account ON User.id = Account.user_id 
+3

定義「不工作」 - 不是預期的結果或錯誤? –

+1

某些表格結構/樣本數據會幫助 – Jacob

+0

不是預期的結果。我對它的限制設置爲3,但每次都返回相同的user_id。 – cdub

回答

1

如果您只想要唯一的user_id,請嘗試使用它進行GROUP'ing。但是這會截斷結果中的所有其他連接記錄。所以你最好想一下你想用user_id選擇什麼,以及你不選擇什麼。

SELECT DISTINCT Review.user_id, Review.id, User.*, Account.* 
    FROM reviews As Review 
    INNER JOIN users AS User ON Review.user_id = User.id 
    LEFT JOIN accounts AS Account ON User.id = Account.user_id 
    GROUP BY Review.user_id 
+0

是啊,謝謝一堆! – cdub

5

由於獨特的只能在其結果是完全一樣的。但是在這裏你也包括ID s,這對於每一行都是唯一的,這使得每條記錄都是唯一的。所以結果顯示了所有的記錄。

+0

因此,如果我在那裏設置了4個限制,我如何確保我從4個不同的用戶獲得4個評論 – cdub

+0

請在您投票-ve時發表評論。謝謝。 –