0

RDC と Cons_Status の 2 つのテーブルがあり、rdc には RDC_ConsNO という一意の列があります。また、この委託番号に対して、添付の画像に示されているように、Cons_Status テーブルに複数のレコードが存在する可能性があります。sts_id が最大の状態に結合されたレコードを 1 つだけ取得するクエリを作成したいと考えています。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

テーブルのデータベース ダイアグラム

ここに画像の説明を入力

4

1 に答える 1

1

列にプレフィックスを付けることを忘れないでください

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
于 2013-08-27T08:18:14.370 に答える