3
假設我有一個客戶表和「more_information」表。查詢左條件加入條件
我查詢的客戶端列表和它們的附加信息(不是每個客戶有項目在這裏,所以我們使用LEFT JOIN):
SELECT id, name, more_information.data
FROM clients
LEFT JOIN more_information
ON more_information.client_id = clients.id
現在我的問題: 我要查詢「more_information」只爲滿足條件的客戶,fe在過去30天報名,換了別人我只想爲null more_information.data
所以像(語法不正確)
SELECT id, name, more_information.data
FROM clients
CASE WHEN clients.registered > '2015-12-27 00:00:00' THEN
LEFT JOIN more_information
ON more_information.client_id = clients.id
ELSE
null
END
我知道我可以在SELECT部分使用的情況下,但這不會改善我的目標。
原因是more_information JOIN查詢大量數據,並且有許多附加條件使查詢速度過慢。我不想在沒有必要的地方查詢它。這甚至可能與MySQL或我需要拆分查詢,並做出兩個單獨的查詢?
非常感謝您的想法
支持嵌套查詢...因此,您可以將您的客戶端首先過濾到表別名中,然後將該表與「More_information」連接起來。同樣,您可以在客戶端加入之前將「more_information」過濾爲表別名。 – DiscipleMichael