Как сформировать этот MySQL Query? - PullRequest
2 голосов
/ 18 июля 2011

Я хочу создать MyQSL Query, похожий на

SELECT city, state, country FROM location 
UNION 
SELECT 'Chicago','Illinois', 'USA' IF 'Chicago' NOT IN (SELECT city FROM location);

По сути, если «Чикаго» не возвращается в результатах, я хочу добавить его к результатам. Проблема в том, что запрос ожидает FROM таблицу ... я использую фиктивную таблицу, или я делаю все это неправильно?

1 Ответ

5 голосов
/ 18 июля 2011

Просто напишите второй SELECT без условий и позвольте UNION сделать всю работу за вас.UNION удалит дубликаты из набора результатов, поэтому повторение «Чикаго» во втором запросе не повредит.Если «Чикаго» также присутствует в вашем первом SELECT, UNION удалит дубликат, созданный вашим вторым запросом.

SELECT city, state, country FROM location 
UNION 
SELECT 'Chicago','Illinois', 'USA' 
...