0

現在、列を並べ替えて最後に null 値を表示することはできません

SELECT firstPart,secondPart  FROM Exhibit_table d, ExhibitType a WHERE d.case_id ='13-05'
AND d.ExhibitTypeId = TypeId AND d.ComplianceNo = '0' and active = 1 order by             CONVERT(INT, firstPart), secondPart

firstpart と secondpart の 2 つの列があります。次の順序で表示されるように並べ替える必要があります。

10
11
12 A
12 B
12 C
null null
null null

どんな助けでも大歓迎です

4

1 に答える 1

2

3 番目の並べ替え条件を追加できます。

SELECT firstPart,secondPart 
FROM Exhibit_table d, ExhibitType a 
WHERE d.case_id ='13-05' AND d.ExhibitTypeId = TypeId AND d.ComplianceNo = '0' and active = 1
ORDER BY CASE WHEN firstPart IS NULL AND secondPart IS NULL THEN 0 ELSE 1 END,
CONVERT(INT, firstPart), secondPart

これにより、両方のフィールドが NULL の場合は値が 0 で、それ以外の場合は値が 1 の計算フィールドが導入され、そのフィールドで並べ替えられます。必要に応じてその条件を調整できます。

于 2013-10-18T00:08:22.180 に答える