我需要的是在WHERE子句笛卡爾積:在mysql笛卡爾積where子句
,比如我有個城市倫敦,巴塞羅那,米蘭,巴黎的一個變量,和柏林在其他變量。我需要的所有組合在哪裏條款(倫敦柏林,巴塞羅那柏林,米蘭柏林,巴黎柏林)。
SELECT *
FROM flight
WHERE flight.from = (London, Barcelona, Milan, Paris) AND flight.to = 'Berlin'
我需要的是在WHERE子句笛卡爾積:在mysql笛卡爾積where子句
,比如我有個城市倫敦,巴塞羅那,米蘭,巴黎的一個變量,和柏林在其他變量。我需要的所有組合在哪裏條款(倫敦柏林,巴塞羅那柏林,米蘭柏林,巴黎柏林)。
SELECT *
FROM flight
WHERE flight.from = (London, Barcelona, Milan, Paris) AND flight.to = 'Berlin'
嘗試:
WHERE flight.from IN ('London', 'Barecelona', 'Milan', 'Paris') AND (flight.to = 'Berlin')
試過之前,我問問題..它不工作。也許這是因爲航班表中的城市不是字符串,而是城市的ID,但是我在flight.cities中使用了內部連接.. – woopata 2012-01-31 17:03:35
'WHERE flight.from IN(從中選擇城市名(...) '會爲此工作。 – 2012-01-31 17:04:31
如果flight.from是CHAR/VARCHAR,嘗試;
SELECT * FROM flight
WHERE `from` IN ('London', 'Barcelona', 'Milan', 'Paris') AND `to`='Berlin';
我發現問題...我用IN子句嘗試之前,我問的問題,但問題是,城市是在變,所以我的查詢看起來像」 ..WHERE flight.from IN('倫敦,巴塞羅那,米蘭,巴黎')...「而不是」..WHERE flight.from IN('倫敦','巴塞羅那','米蘭','巴黎')...「所以問題在 – woopata 2012-01-31 17:25:03