假設我有兩個表:匹配的特定一個對許多條目與SQL
product
-------
productid
name
和
language
--------
productid
code
我有三個產品:
1, 'homebody' -> 1, EN
2, 'continetnal' -> 2, FR
-> 2, EN
-> 2, ES
3, 'westy' -> 3, EN
-> 3, ES
-> 3, FR
-> 3, PT
4, 'oktoberfest' -> 4, DE
假設我有一個我感興趣的語言列表EN, FR, ES
我想創建三種類型的查詢來選擇一些產品。
- 比賽在我的列表中的任何語言( '安土重遷', '大陸', 'westy')
- 比賽在我的列表中的所有語言( '大陸', 'westy')
- 嚴絲合縫的語言我的名單(「大陸」)
我認爲解決第一個就是:
SELECT * FROM products AS p JOIN language AS l ON (p.productid = l.productid) WHERE l.code IN ('EN', 'ES', 'FR')
什麼是爲我解決鄰的好辦法有沒有問題?我懷疑某些地方會計算與我的產品相關的語言數量,並確保它與我的查詢中的語言數量相同或至少是相同,但不知道如何實現此目的。
如果你可以找出更好的問題標題,盡一切編輯。 –