前の記事のやつは、SQL SERVER 2005では、APPLYを使えばよさそう。
こんなテーブルがあったとして、
(下線は主キー)
TBL_A(ID,NAME,ADDRESS),
TBL_B(ID,START_DATE,JOB)
SELECT A.NAME, B.JOB_NAME
FROM
TBL_A AS A
OUTER APPLY
(SELECT TOP(1) JOB AS JOB_NAME ,ID FROM TBL_B AS BB
WHERE A.ID=BB.ID ORDER BY START_DATE DESC) AS B
CROSS APPLYだと、左入力のみに発生するデータを検索できないためOUTER APPLYです。
0 件のコメント:
コメントを投稿