テーブルが2つあります。
表1:
A B
------
1 'A'
2 'B'
3 'C'
表2:
A C
----------
2 15
3 20
次のクエリを使用しています。
SELECT table1.A, table1.B, table2.C
FROM table1
LEFT JOIN table2
ON table1.A = table2.A
問題は次のような出力で発生します。
A B C
---------------
1 'A' null
2 'B' 15
3 'C' 20
Table2.Cで注文する必要があるため、nullを0として取得する方法はありますか?どんな助けでもありがたいです。
私の予想される出力は:
A B C
---------------
3 'C' 20
2 'B' 15
1 'A' 0
pS:IFNULL(table2.C、0)で試しました。うまくいきませんでした。
これは最も効率的なソリューションかもしれません:
SELECT A, t1.B, t2.C
FROM table1 t1
LEFT JOIN table2 t2 USING (A)
ORDER BY t2.C NULLS FIRST;
デフォルトでは、NULL値は最後にソートされます。これはNULLS FIRST
で元に戻すことができます。見る: