0

このようなクエリがあり、infobright データベースを使用しています -

select field1, field2
from foo
where filed1 in (1,2,3)

テーブルにレコードがなくても何かを返したい。たとえば、filed1 = 2 と field1 = 2 のレコードはありますが、filed1 = 3 のレコードはありません。

field1 = 3 のテーブルから何かを返すように、このクエリを作成するにはどうすればよいですか? フィールド1 = 3のテーブルにnull値がある場合はifnullを使用できますが、何も存在しない場合に見つけようとしています。

4

2 に答える 2

2

これは必要な ID 値の短いリストですが、select/union を作成して ID を作成し、次のようなデータ テーブルに左結合することができます。

select
      AllIDs.ID,
      foo.field1,
      foo.field2
   from 
      ( select 1 ID union select 2 union select 3 ) as AllIDs
         left join foo
            on AllIDs.ID = foo.field1
于 2014-08-31T13:37:37.253 に答える