4 つの異なるテーブルからレコードを取得するクエリがあります。私はunion
最終的な記録を取得するために使用しています。私の問題は、4つのテーブルすべてに同じ数とタイプの列がないため、null
値を持つダミー列を作成していることです。私が直面している問題はソートにあります。datetime desc を使用してレコードを並べ替えていますが、日付が同じ場合、高、中、または Null タイプのアラートで 2 番目の並べ替え列が必要になることがあります。一番下にNull列が欲しいのですが、一番上に来ています。ISNULL(column_name, 'aaaa')
そのため、 in句を使用しようとしましORDER BY
たが、実際の結果が得られません。誰でも助けることができますか?
SELECT CreatedDt as 'Date/Time' , null AS [Alert_Type] FROM TblA
union
SELECT CreatedDt as 'Date/Time' , null AS [Alert_Type] FROM TblB
union
SELECT CreatedDt as 'Date/Time' , null AS [Alert_Type] FROM TblC
union
SELECT CreatedDt as 'Date/Time' , Alert_Type FROM TblD
ORDER BY CreatedDt, ISNULL (Alert_Type,'aa') DESC
エラーは
ORDER BY items must appear in the select list if the statement contains a UNION, INTERSECT or EXCEPT operator.
ありがとうございました..