1

代码:

SELECT

CONVERT(VARCHAR(10),Due_Date,101) AS Due_Date,
COST_PER_ACRES,
CASE WHEN Due_Amount IS NOT NULL AND Lease_Amount IS NOT NULL THEN '$' + CONVERT(VARCHAR(20),CAST(Due_Amount - Lease_Amount AS MONEY),1)
WHEN Due_Amount IS NULL THEN '$0.00' ELSE '$' + CONVERT(VARCHAR(20),CAST(Due_Amount AS MONEY),1) END AS RENTAL_AMOUNT_DUE,
CONVERT(VARCHAR(10),CHECK_DATE,101) AS Check_Date

FROM tblpayments PH 
LEFT JOIN tblcheck CD
    ON PH.ID = CD.lease_obligation_ID

WHERE PH.PAYMENT_TYPE_ID = 1657 AND PH.LEASE_ID = 76

ORDER BY YEAR(Due_Date)

我想知道如何获得以下输出:

在此处输入图像描述

我当前的输出:

在此处输入图像描述

4

1 回答 1

2

您只需添加month()order by. 所以我想你想要:

ORDER BY MONTH(ph.Due_Date), YEAR(ph.Due_Date)

(我不知道专栏是从哪里来的。我只是在猜测ph。)

在您的情况下,您还可以执行以下操作:

ORDER BY Due_Date

根据Due_Date列别名解释。它似乎是您想要订购的东西。

注意:将列重命名为与现有列相同可能会导致ORDER BY.

于 2015-08-06T15:35:08.393 回答