iT邦幫忙

0

MS SQL詢問,如何合併資料

大家好
請教各位
圖片中 PORAA 與 PORBB 請問要如何產生PORCC
JOIN 試了很久都不是我想要的,不然就是變得很奇怪...
請各位先進幫幫忙
提點一下小弟
謝謝大家!!

https://ithelp.ithome.com.tw/upload/images/20190905/20103088XQTcpZy0rv.pnghttps://ithelp.ithome.com.tw/upload/images/20190905/20103088OrE4ZKO8oH.pnghttps://ithelp.ithome.com.tw/upload/images/20190905/20103088uhv5ChoWIk.png

WQ iT邦新手 4 級 ‧ 2019-09-05 16:15:16 檢舉
select * from PORBB LEFT JOIN PORAA ON PORAA.日期=PORBB.日期 and PORAA.序號=PORBB.序號 and PORAA.品號=PORBB.品號 and PORAA.單號=PORBB.單號;
小魚 iT邦大師 1 級 ‧ 2019-09-05 16:47:17 檢舉
忽然讓我想到 資料庫正規化.
z22344566 iT邦新手 5 級 ‧ 2019-09-05 17:00:02 檢舉
這是舊資料了
如果需要達到這些要求,有其他方法嗎?

1 個回答

1
rogeryao
iT邦高手 6 級 ‧ 2019-09-05 17:19:01
最佳解答
PORAA 與 PORBB 用前 4 個欄位串接會產生 2*4 + 1*3 筆資料,
一筆"自主檢查"會對到生鏽及混料兩筆資料 , 所以無法產生你要的 PORCC.
除非 PORAA 與 PORBB 還有其它的欄位可以串接 , 
可以判別"自主檢查"一定會對到"生鏽".
z22344566 iT邦新手 5 級 ‧ 2019-09-06 11:04:32 檢舉

請問可以增加什麼欄位能夠辨識?

rogeryao iT邦高手 6 級 ‧ 2019-09-06 22:10:23 檢舉

這個問題不在於增加甚麼欄位 , 而是由你的資料結構中去找出那個欄位.
PORBB 的第1筆與第4筆完全相同,要嘛使用 distinct 去除重複的資料 ,不然應該可以找出某個欄位不一樣,那個欄位可能有用.

另外 ,PORBB 可能也有"廠內/外"這個欄位,也可能沒有 ;若 PORBB 完全是廠內的紀錄那麼可以用以下 SQL 產生一個虛擬的欄位,在跟 PORAA 串接 (此時會有原本的 4 個 + "廠內/外"這個欄位)

SELECT *,'I' as '廠內/外'
FROM PORBB
z22344566 iT邦新手 5 級 ‧ 2019-09-09 16:56:15 檢舉

問題已解決~
謝謝您

我要發表回答

立即登入回答