由於我正在尋找一個例子,考慮下面的例子水果表加入同一個表
id user_id fruit type
1 43 apple fresh
2 87 watermelon fresh
3 99 apple fresh
4 43 pineapple dried
5 60 pineapple dried
6 60 lemon fresh
7 99 kiwi fresh
8 43 mango fresh
我想找到同時包含「蘋果」的所有用戶的所有記錄,「乾燥「在同一張表中(不一定在同一行中)。同一個用戶必須具備這兩個條件。
什麼,我想回的是:
id user_id fruit type
1 43 apple fresh
4 43 pineapple dried
我試過自我的幾種組合聯接:
SELECT distinct f1.*, f2.*
FROM orders f1 FULL JOIN orders f2
ON f1.user_id = f2.user_id
WHERE f1.fruit ILIKE 'apple'
AND f2.type ILIKE 'dried'
,但一直沒能得到它完全正確。
這是一個Rails應用程序,所以我很想用ActiveRecord來做到這一點,但如果需要的話,我會很樂意使用普通的SQL。
有關如何做到這一點的任何建議? TIA
嗨。與我上面的評論相同:這給我所有3條記錄(1,4和8),而不是隻搜索了2條記錄(1和4) – purplerice
@purpleice我已編輯添加附加位置條款。當你說你想要所有在同一張桌上同時擁有蘋果和幹蘋果的用戶的所有記錄時,你並不十分清楚。你沒有提到你只想要包含蘋果或乾的行 - 見這裏的工作示例http://www.sqlfiddle.com/#!2/37dcd/6 – Tobsey
謝謝 - 這正是我正在尋找。對不起,我沒有更清楚 - 我給出了我期待的結果,因爲它並不總是很容易解釋。再次感謝! – purplerice