这是我的代码
DeclARE @Fromdate date = '2021-06-5';
DeclARE @Todate date = '2021-06-5';
DeclARE @till01 varchar(200) = 'ST-LO-01';
DeclARE @till02 varchar(200) = 'ST-LO-02';
DeclARE @till03 varchar(200) = 'ST-LO-03';
DeclARE @till04 varchar(200) = 'ST-LO-04';
DeclARE @till05 varchar(200) = 'ST-LO-05';
DeclARE @till06 varchar(200) = 'ST-LO-06';
SELECT Srt.TRANSDATE,Srt.TERMINAL AS TILL,IsnULL(COUNT(Srt.TRANSactIONID),0) AS Total_Inv,0 AS Empty_Info
FROM RetaILTRANSactIONTABLE Srt
LEFT JOIN RetailTransactionInfoCodeTrans Cinf ON Cinf.TRANSactIONID = Srt.TRANSactIONID
WHERE Srt.TRANSDATE >= @Fromdate
AND Srt.TRANSDATE <= @Todate
AND Srt.TYPE = 2
AND Srt.TERMINAL IN (@till01,@till02,@till03,@till04)
GROUP BY Srt.TRANSDATE,Srt.TERMINAL
UNION
SELECT Srt.TRANSDATE,0 AS TOTAL,0) AS EMPTY
FROM RetaILTRANSactIONTABLE Srt
LEFT JOIN RetailTransactionInfoCodeTrans Cinf ON Cinf.TRANSactIONID = Srt.TRANSactIONID
WHERE Srt.TRANSDATE >= @Fromdate
AND Srt.TRANSDATE <= @Todate
AND Srt.TYPE = 2
AND Srt.TERMINAL IN (@till01,@till04)
AND Cinf.information IS NULL
GROUP BY Srt.TERMINAL,Srt.TRANSDATE
ORDER BY Srt.TRANSDATE,Srt.TERMINAL,Empty_Info ASC;
结果是:
TRANSDATE | 直到 | Total_Inv | Empty_Info |
---|---|---|---|
2021-06-05 | ST-LO-01 | 197 | 0 |
2021-06-05 | ST-LO-01 | 0 | 2 |
2021-06-05 | ST-LO-02 | 175 | 0 |
2021-06-05 | ST-LO-02 | 0 | 4 |
2021-06-05 | ST-LO-03 | 240 | 0 |
2021-06-05 | ST-LO-03 | 0 | 9 |
2021-06-05 | ST-LO-04 | 207 | 0 |
2021-06-05 | ST-LO-04 | 0 | 9 |
我想要这个结果:
TRANSDATE | 直到 | Total_Inv | Empty_Info |
---|---|---|---|
2021-06-05 | ST-LO-01 | 197 | 2 |
2021-06-05 | ST-LO-02 | 175 | 4 |
2021-06-05 | ST-LO-03 | 240 | 9 |
2021-06-05 | ST-LO-04 | 207 | 9 |