繁体   English   中英

SQL Server分组依据和左外部联接自定义结果集

[英]SQL Server Group By and Left Outer Join Custom result set

我有两个表RDC和Cons_Status,rdc在RDC_ConsNO中有一个唯一的列。 并根据该寄售编号,在Cons_Status表中可能有多个记录,如所附图像所示。 我想编写一个查询,在该查询中,我只有一条记录与最大sts_id的状态关联。 我正在使用SQL Server 2012。

SELECT STS_ID,RDC_CONSNO,STS_STATUS , RDC_DATE,RDC_CUSTOMER,DEST_NAME FROM RDC LEFT OUTER JOIN CONS_STATUS ON RDC_CONSNO=STS_CONSNO
INNER JOIN DESTINATION ON DEST_ID=RDC_DESTINATION WHERE RDC_CONSNO='HD88300'
ORDER BY STS_ID

表的数据库图

在此处输入图片说明

别忘了在列前加上前缀

SELECT ?? FROM RDC
OUTER APPLY
(SELECT TOP 1 * FROM CONS_STATUS
WHERE RDC.RDC_CONSNO = STS_CONSNO
ORDER BY sts_id DESC
) a
INNER JOIN DESTINATION d
ON d.DEST_ID=RDC.RDC_DESTINATION 
WHERE RDC.RDC_CONSNO='HD88300'
ORDER BY a.STS_ID

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM