我有两个表RDC和Cons_Status,rdc在RDC_ConsNO中有一个唯一的列。与此寄售号码相比,Cons_Status表中可能有多条记录,如所附图像所示。我想要写一个查询,其中只有一条记录连接到带有最大sts_id的状态。我正在使用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
表的数据库关系图
发布于 2013-08-27 00:18:14
别忘了给你的列加上前缀
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
https://stackoverflow.com/questions/18460249
复制相似问题