我有兩個表格,選項和產品。我想從選項中選擇全部,但只有在任何產品列中都存在options.id時纔可以。這是我的兩個表:Mysql查詢,兩個表。僅當其他表中存在值時才選擇
選項表:
id option value
1 'kategorija' 'Muški'
2 'kategorija' 'Ženski'
3 'kategorija' 'Dječji'
4 'brand' 'Casio'
5 'brand' 'Lorus'
6 'brand' 'Seiko'
7 'brand' 'Citizen'
8 'mehanizam' 'Quartz'
9 'mehanizam' 'Automatik'
10 'mehanizam' 'Eco-Drive'
11 'brojcanik' 'Analogni'
12 'brojcanik' 'Digitalni'
13 'grupa' 'Satovi'
14 'grupa' 'Naocale'
和第二臺產品:
id grupa brand mehanizam brojcanik kategorija
10380 '13' '4' '8' '11' '2'
10560 '13' '4' '9' '12' '1'
11100 '13' '6' '8' '11' '2'
12380 '14' '7' '8' '11' '2'
12490 '13' '6' '9' '11' '1'
15720 '14' '6' '9' '12' '1'
16550 '14' '5' '8' '12' '3'
我嘗試查詢:
SELECT * FROM options WHERE EXISTS(SELECT 1 FROM products WHERE grupa="14" AND brand=options.id OR mehanizam=options.id OR brojcanik=options.id OR kategorija=options.id)
的結果應該是:
Array
(
[0] => Array
(
[id] => 14
[option] => grupa
[value] => Naocale
)
[1] => Array
(
[id] => 7
[option] => brand
[value] => Citizen
)
[2] => Array
(
[id] => 8
[option] => mehanizam
[value] => Quartz
)
[3] => Array
(
[id] => 11
[option] => brojcanik
[value] => Analogni
)
[4] => Array
(
[id] => 2
[option] => kategorija
[value] => Zenski
)
)
這是數組僅適用於產品ID爲12380的一行,即grupa 14.數組應該繼續用於產品行中存在grupa 14的其餘產品。 我不知道這是否只能用mysql查詢。如果這是不可能的,我將不得不做與php比較,這是我試圖避免的。
感謝
爲什麼選擇:'5','8','3','6','9','1'不包括在內? –
不包括在哪裏?在數組中? – user2499170
被刪除的答案對我來說工作得很好。不知道爲什麼被刪除。 – user2499170