Re: [SQL ] 挑選A表中某條件值與B表做join
※ 引述《Schematic (小小寶的媽)》之銘言:
: 內容/問題描述:
: A表
: year id term status
: 1 90 1 1 1
: 2 90 1 2 1
: 3 91 1 1 1
: 4 91 1 2 1
: 5 91 1 3 4
: 6 92 1 1 5
: 7 90 2 1 1
: 8 90 2 2 1
: 9 91 2 1 3
: 10 90 3 1 1
: 11 90 3 2 6
: B表
: year id type
: 1 90 1 A
: 2 90 2 B
: 3 90 3 A
: 希望的結果是要將A表中同一id下year最大且term最大的那一列join到B表
: year id type status
: 1 90 1 A 5 (取A表的第6行的status值)
: 2 90 2 B 3 (取A表的第9行)
: 3 90 3 A 6 (取A表的第11行)
: 不知道語法要怎麼下才會比較簡潔
: 謝謝
https://goo.gl/photos/nmatoCvvQgK9tVwF8
with tmp_A as(
select row_number() over(partition by id order by [year] desc,[term] desc) as Num ,* From A)
Select b.*,a.status from tmp_A a
inner join B b on a.id=b.id
where a.num=1
--
Sent from my Windows
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.136.240.135
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1454555263.A.94B.html
推
02/04 11:21, , 1F
02/04 11:21, 1F
→
02/12 09:56, , 2F
02/12 09:56, 2F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章