簡體   English   中英

PHP查詢過濾多對多MySQL

[英]PHP Query To Filter Many-To-Many MySQL

我有以下查詢:

SELECT DISTINCT Names FROM all_uk
INNER JOIN cat_uk ON all_uk.Ref = cat_uk.Ref
INNER JOIN res_uk ON all_uk.Ref = res_uk.Ref
WHERE (cat_uk.Cat_Ref IN (25, 35)) AND (res_uk.Res_Ref = 1) AND (res_uk.Res_Ref = 2)

如您所見, WHERE查詢的第一部分是累積的(所有具有25或35引用的內容)。 第二部分是我失敗的地方:我想將結果限制為第二類中具有1和2的結果。

選擇其中之一(即1或2)會返回結果,但是同時選擇它們時,我什么也沒得到。

有人可以幫忙嗎?

我想你要這個查詢

SELECT Names FROM all_uk
INNER JOIN cat_uk ON all_uk.Ref = cat_uk.Ref
INNER JOIN res_uk ON all_uk.Ref = res_uk.Ref
WHERE (cat_uk.Cat_Ref IN (25, 35)) 
GROUP BY Names
HAVING SUM(res_uk.Res_Ref = 1)>0
   AND SUM(res_uk.Res_Ref = 2)>0

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM