0
爲了簡單起見,查找的行,假設我有一個包含客戶表和產品,他們持有像這樣:在多個標準會見了多對多的關係
Client_ID Product_Held
1 Product1
1 Product2
1 Product3
2 Product1
2 Product2
3 Product1
3 Product1
客戶可以容納任何產品的組合,以及同一產品的倍數。
我希望能夠到我的查詢限制爲僅保持產品1和產品2的所有客戶端,我也有找出所需的邏輯有點困難。如果我這樣做與產品1和產品2的所有客戶端的搜索,我的結果將包括那些誰持有產品1只,以及那些誰只持有產品2。
在過去,我只是將結果轉儲到Excel中,添加一個結合兩個字段(即1Product1,1Product2)的列,然後編寫一個基本上說1Product1存在且1Product2存在的快速公式,然後標記爲好的,並過濾掉其他所有內容,但推測它應該是相當簡單的,而不是通過我的查詢來完成。
我覺得我應該是這樣:
WHERE Client_ID exists in Client_ID + Product_Held AND Product_Held = 'Product1'
AND Client_ID exists in Client_ID + Product_Held AND Product_Held = 'Product2'
但有麻煩的語法,還不能確定這是否是一個有效的方法是什麼?
謝謝,這個工作完美。儘管我在集體聲明中遇到了一些麻煩。爲了簡單起見,我將它表示爲一個表格,但實際上它是幾個帶連接的表格,只有在我的select語句中包含每個字段時,該語句纔會有效,在我的group by語句中也是這樣,即:SELECT Field 1, Field2,Field3,GROUP BY Field1,Field2,Field3。 我仍然在學習SQL,GROUP BY語句總是必須包含select語句中的每個字段? – Dekks
我結束了運行這個作爲子查詢,然後讓我的主要查詢說在哪裏client_id在(與子句查詢)。不知道它是否是最有效的方式,但這是另一天的問題! – Dekks