2017-08-14 6 views
0

一致させることはできません場合は、デフォルトで参加しますそれに参加するためのSQLを用意して、毎日責任者を見ることができます。SQLは、それは私がこのように見える2つのテーブルを持っている

私は標準SQLにはこのようなものに見えると思います:

SELECT DAY, ACTIVITY, RESPONSIBLE 
FROM TABLE_2 2 
LEFT JOIN TABLE_1 1 
ON 1.ACTIVITY = 2.ACTIVITY AND 1.AREA = 2.AREA 

をしかし、今のジョイントすることはできません一部の行(例えば清掃ガーデン)があります。 その場合(参加できない場合)、私はいつもピーターが責任を負うことを望みます。

これを1回の参加で(多分CASE文で)行うことはできますか?これはどのように行いますか?

答えて

2

テーブル名に数字を使用しないでください(DB2が許可していても)。数字は数字でなければなりません。あなたはCOALESCE()を探している

SELECT t2.DAY, t2.ACTIVITY, COALESCE(t1.RESPONSIBLE, 'Peter') as Responsible 
FROM TABLE_2 t2 LEFT JOIN 
    TABLE_1 t1 
    ON t1.ACTIVITY = t2.ACTIVITY AND t1.AREA = t2.AREA; 
関連する問題