列がnullでない場合は列で並べ替えることができるように、SQLで結合する方法はありますが、nullの場合は、別の列で並べ替えることができますORDER BY
か?IS NULL
17356 次
4 に答える
47
何かのようなもの:
ORDER BY CASE
WHEN Column1 IS NOT NULL THEN Column1
ELSE Column2
END
書くのと同じ:
ORDER BY COALESCE(Column1, Column2)
どちらも正常なRDBMSで機能するはずです。
于 2012-06-12T19:25:03.673 に答える
13
これを試して
ORDER BY COALESCE(fieldA, fieldB);
于 2012-06-12T19:28:44.353 に答える
0
次の方法で試すことができます。
ORDER BY ISNULL(firstField, secondField)
于 2012-06-12T19:24:49.333 に答える
-1
テストできるTablesATMはありませんが、これは機能する可能性があります。少なくとも、使用可能なデータがなくても機能します。
SELECT * FROM table1
LEFT JOIN table2 ON table1.id = table2.id
WHERE 1
ORDER BY IF( table2.id, table1.id, table1.name )
また、table2.idがnullの場合、順序がどのようになるかわかりませんが、非常に不安定なようです。
于 2012-06-12T19:34:38.347 に答える