SQlサーバーで以下のSQLを使用して会計年度別に注文したいが、 '無効な列名' MONTH ''というエラーメッセージが表示される。私はあなたが私の下のSQLを変更するのを助けることができるのだろうかと思います。ありがとう!SQL Server 2008会計年度別注文
SELECT 'Closed Home' AS STATUS,
right(CONVERT(VARCHAR(8), Closed_Dt, 3),5) as "MONTH",
COUNT(Home_ID) COUNT
FROM Home
GROUP BY HOME_STATUS,right(CONVERT(VARCHAR(8), Closed_Dt, 3),5)
HAVING Facility_STATUS IN ('CLOSED')
UNION
SELECT 'New Placement' AS STATUS,
right(CONVERT(VARCHAR(8), EFFECT_DT, 3),5) AS "MONTH",
COUNT(CLT_NBR) AS COUNT
FROM STATUS S
GROUP BY right(CONVERT(VARCHAR(8), EFFECT_DT, 3),5)
ORDER BY status,
case "MONTH" when '07/15' then 1
when '08/15' then 2
when '09/15' then 3
when '10/15' then 4
when '11/15' then 5
when '12/15' then 6
when '01/16' then 7
when '02/16' then 8
when '03/16' then 9
when '04/16' then 10
when '05/16' then 11
when '06/16' then 12
end
...ちょうど派生テーブルにあなたのメインクエリを移動して、MONTH列を使用することができます。あなたはそのことを更新するあなたのキャリアの残りを過ごすでしょう!この結果は 'ORDER BY EFFECT_DT'と' CLOSED_DT'だけとはどのように違いますか? –
その場合、'01/16 'は'07/15'の前に来ます。私はその結果を年度と月ごとにソートしたい。だから'07/15 'は'01/06'の前に来る。 – Ice
「EFFECT_DT」と「CLOSED_DT」のタイプは?それらが 'DATE'または' DATETIME'の場合、それらは正しくソートされます。それらが文字列の場合、それらをリファクタリングすることを検討してください。 –