2011-07-18 11 views
2

私はこのMySQLクエリを作成するには? 「シカゴ」が結果に返されていない場合

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

に似MyQSLクエリを作成したいが、基本的に、私は結果に追加したいです。問題は、クエリはFROMテーブルを期待しています...私はダミーテーブルを使用するのですか、これをすべて間違っていますか?

+0

あなたは間違っています。テーブル構造を貼り付けることはできますか? –

答えて

5

を条件なしで書き込んで、UNIONにお任せください。 UNIONは結果セットから重複を削除するので、2番目のクエリでは "Chicago"を繰り返しても問題ありません。最初のSELECTに "Chicago"も発生した場合、UNIONは2番目のクエリで作成された複製を削除します。

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

匿名のダウンワードの人が彼らの異議を説明するのに気をつけますか? –

+0

シカゴがすでに最初のselectステートメントに存在する場合は、最初のselectステートメントから1回、2回目のselectステートメントから2回表示されるため、これは正しく機能しません。これは、UNION DISTINCTを使用しても実行されます。 – Chris

+0

@Chris:州と国の列に2つのシカゴ「シカゴ」リストの値が異なる場合は、これが機能しないことがわかります。それは事実ですか? –

関連する問題