[英]Yii select first record from table where it does not have a record in a related table
[英]how to select record from table where record have the most similar attribute from another table
表A
結果選擇
a
a
b
a
碳
碳
表B
用戶選擇
1個
1例
2例
2點
表C
用戶結果
1個
2℃
如果我想這樣做,我應該使用什么mysql查詢:
如果用戶選擇一個結果,則結果為ABC(因為ABC在“選擇”列中有“ a”);如果用戶選擇a,則結果是BC(因為A在“選擇”列中沒有“ b”);如果用戶選擇了abc,則如果用戶選擇bc,則結果為C(因為C在“選擇”列中具有“ abc”),如果用戶選擇b,則結果為C(因為AB在“選擇”列中不具有“ c”),如果用戶選擇c,則結果為C(因為AB在“選擇”列中沒有“ c”)
因此它將從用戶選擇的內容中選擇最相似的記錄,而忽略其他不匹配的記錄..對不起我的英語,我說巴哈薩語...
SELECT `result`
FROM tableA
WHERE `select` IN ('a','b','c')
GROUP BY result
HAVING COUNT(*) = 3
如果沒有對每個result
select
施加唯一約束,則需要DISTINCT
。
SELECT `result`
FROM tableA
WHERE `select` IN ('a','b','c')
GROUP BY result
HAVING COUNT(DISTINCT `select`) = 3
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.