Re: [SQL ] 不同資料庫 同table查詢問題
方法一:
;with tb1 as (
select M.產編,T1.日期
From 資料庫Now.table M
Left outer join 資料庫Now.Table出貨紀錄 T1 on M.產編 = T1.產編
Where 條件 T1.xx = xxx.....
),
tb2 as (
select M.產編,T1.日期
From 資料庫2013.table M
Left outer join 資料庫2013.Table出貨紀錄 T1 on M.產編 = T1.產編
Where 條件 T1.xx = xxx.....
),
tb3 as (
select * from tb1
union all
select * from tb2
)
select 產編,max(日期) as 最近日期
from tb3
group by 產編
---------------------------------
方法二:
;with tb1 as (
select M.產編,max(T1.日期) as 最近日期
From 資料庫Now.table M
Left outer join 資料庫Now.Table出貨紀錄 T1 on M.產編 = T1.產編
Where 條件 T1.xx = xxx.....
group by M.產編
),
tb2 as (
select M.產編,max(T1.日期) as 最近日期
From 資料庫2013.table M
Left outer join 資料庫2013.Table出貨紀錄 T1 on M.產編 = T1.產編
Where 條件 T1.xx = xxx.....
group by M.產編
)
select isnull(t1.產編,t2.產編) as 產編,
case when isnull(t1.最近日期,'') > isnull(t2.最近日期,'')
then t1.最近日期
else t2.最近日期
end as 最近日期
from tb1 t1 full join tb2 on t1.產編 = t2.產編
※ 引述《tsongs (......)》之銘言:
: 資料庫名稱:mssql
: 資料庫版本:2008
: 內容/問題描述:
: 因為舊資料被搬到另一個
: 有2資料庫 同一個table
: 要取2邊最大值
: select M.產編,max(T1.日期) as 最近日期
: From 資料庫Now.table M
: Left outer join 資料庫Now.Table出貨紀錄 T1 on M.產編 = T1.產編
: Where 條件 T1.xx= xxx.....
: Group by M.產編
: 資料庫Now 改成 資料庫2013 也沒問題
: 請問能不能直接寫在一起直接抓到2邊的最大值
: 有 group 不知道怎處理
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 210.61.233.210
※ 文章網址: https://www.ptt.cc/bbs/Database/M.1515738728.A.BCB.html
推
01/12 15:43,
6年前
, 1F
01/12 15:43, 1F
→
01/12 15:45,
6年前
, 2F
01/12 15:45, 2F
→
01/12 15:46,
6年前
, 3F
01/12 15:46, 3F
推
01/12 15:55,
6年前
, 4F
01/12 15:55, 4F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Database 近期熱門文章
PTT數位生活區 即時熱門文章