Re: [SQL ] 不同資料庫 同table查詢問題

看板Database (資料庫)作者 (可愛小孩子)時間6年前 (2018/01/12 14:32), 編輯推噓2(202)
留言4則, 1人參與, 6年前最新討論串2/2 (看更多)
方法一: ;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
用方法2執行成功 感謝
01/12 15:43, 1F

01/12 15:45, 6年前 , 2F
如果要加入第3個資料庫,ISNULL() AS 產編 會出現問題
01/12 15:45, 2F

01/12 15:46, 6年前 , 3F
有解嗎 還是用方法一來處理
01/12 15:46, 3F

01/12 15:55, 6年前 , 4F
方法一 3TABLE 跑起來沒問題 改用方法一
01/12 15:55, 4F
文章代碼(AID): #1QM5PelB (Database)
文章代碼(AID): #1QM5PelB (Database)