キャストオプションを使用して日付を月に変換し、また別のキーワードを使用します。今、私は1月から12月の月のご注文を手配したいと思います。これどうやってするの?1月から12月の月間オーダーを手配します。これどうやってするの?
QUERY:
SELECT DISTINCT CAST(DATENAME(MONTH,INV_DATE) AS VARCHAR(12)) AS INV_DATE
FROM AP_INVOICE_HEAD
ORDER BY INV_DATE ASC
キャストオプションを使用して日付を月に変換し、また別のキーワードを使用します。今、私は1月から12月の月のご注文を手配したいと思います。これどうやってするの?1月から12月の月間オーダーを手配します。これどうやってするの?
QUERY:
SELECT DISTINCT CAST(DATENAME(MONTH,INV_DATE) AS VARCHAR(12)) AS INV_DATE
FROM AP_INVOICE_HEAD
ORDER BY INV_DATE ASC
ソートするために月に基づいて、あなたは、SELECT文の後に実行されることにより、順序が直接INV_DATE上で順序を使用することができますorder by Month(date)
明確なキーワードがなくてもうまく動作します。 – user7653509
しかし、私は別個の値が必要です – user7653509
を使用することができます...
SELECT DISTINCT CAST(DATENAME(MONTH,INV_DATE) AS VARCHAR(12)) AS INV_DATE
FROM AP_INVOICE_HEAD ORDER BY INV_DATE
あなたがDISTINCT
キーワードを使用しているので、あなたは結果セットをソートするselect句から列を使用する必要があります。
簡単な解決策は、select句に月の番号を追加して、ORDER BY句でそれを使用することです:選択リストに別の列を追加含まない
SELECT DISTINCT CAST(DATENAME(MONTH,t.INV_DATE) AS VARCHAR(12)) AS INV_DATE,
DATEPART(MONTH, INV_DATE) As INT_Month
FROM AP_INVOICE_HEAD
ORDER BY INT_Month
別のオプションです
SELECT CAST(DATENAME(MONTH, INV_DATE) AS VARCHAR(12)) As INV_DATE
FROM AP_INVOICE_HEAD t
GROUP BY CAST(DATENAME(MONTH, INV_DATE) AS VARCHAR(12))
ORDER BY MAX(MONTH(t.INV_DATE))
注:order by句に、INV_DATE
がないからのエイリアスに、テーブルの列を参照DISTINCT
GROUP BY
とを交換しますselect句
ここではt.
修飾子は不要ですが、クエリをより読みやすくします。
ありがとう、その作業@Zohar – user7653509
[喜んで助けて: - )](http://meta.stackoverflow.com/questions/291325/how-to-show-appreciation-to-a-user -on-stackoverflow/291327#291327) –
このような情報はほとんど表示されていません。実行しているクエリなどのコンテキストをいくつか共有できますか? – Mureinik
上記のように、DISTINCT CAST(DATE(MONTH、INV_DATE)をVARCHAR(12)AS AS_DATEからAP_INVOICE_HEAD – user7653509
に変更すると、ヘルプが表示されません。私もこれを試してみたが何をして動作していない – Phil3992