3

次のような2つのテーブルがあります。

Table A
key1 key2 key3
1    a    a
2    a    a
3    a    a

Table B
key1 key2 key3
1    xxx  zzz
2    yyy  www

ここで、A.key1 が B.key1 と一致する A と B から大きなテーブルが必要です。B の内容が貼り付けられます。

例えば

Key1 Key2 Key3 Key5 Key6
1    a    a    xxx  zzz            
2    a    a    yyy  www               
3    a    a    0    0       

クエリとは何ですか?

4

3 に答える 3

3

LEFT JOINが必要です:

select
  a.key1,
  a.key2,
  a.key3,
  ifnull(b.key2, 0) as key4,
  ifnull(b.key3, 3) as key5
from
  tableA a
left join
  tableB b on b.key1=a.key1
于 2012-04-26T19:59:11.897 に答える
2
select * from a left outer join b on a.key1 = b.key1

(これにより、b から一致する行がない b 列に null が与えられます)

于 2012-04-26T19:59:03.550 に答える
1
select key1, key2, key3, 
    case key5 when null then default(key5) else key5 as key5,  
    case key6 when null then default(key6) else key6 as key6
from a
left outer join b on a.key1 = b.key1

編集

SQLFiddle の例

select a.key1, a.key2, a.key3, 
       ifnull(b.key2, 0) as key5,  
       ifnull(b.key2, 3) as key6
from a
left outer join b on a.key1 = b.key1
于 2012-04-26T20:02:16.773 に答える