iT邦幫忙

0

SQL 報表合併1

sql
satan5304 7 月前635 瀏覽

請問,我有如何二個table資料,請問可以用什麼辦法合併呢?><感謝

http://ithelp.ithome.com.tw/upload/images/20160809/20101506OmgTL4aAGk.jpg

satan5304 iT邦新手 5 級 ‧ 7 月前 檢舉
補充,這二個table的key名稱不同,用inner join on的話,select要怎麼下比較好呢?感謝
satan5304 iT邦新手 5 級 ‧ 7 月前 檢舉
用「UNION」!

1 個回答

1
做工仔人!
iT邦高手 1 級 ‧ 7 月前
最佳解答

看來:是二個不同DB 的相同TABLE NAME 的資料要合併.
語法:
SELECT 製令單號,序號,流水號,良品數,不良品數
FROM DB1.TABLE1
WHERE 條件
UNION ALL
SELECT 製令單號,序號,流水號,良品數,不良品數
FROM DB2.TABLE1
WHERE 條件

如果我沒記錯的話,

UNION : 會將完全相同的資料只顯示一筆.

UNION ALL : 則二筆都會顯示.

用UNION 時, 每個 SELECT 出來的資料欄位數必須要同.

JOIN 的寫法:

SLECT 製令單號,序號,流水號,良品數,不良品數
FROM DB1..TABLE1 A FULL JOIN DB2..TABLE1 B ON A.KEY1=B.KEY1 AND A.KEY2=B.KEY2 AND A.KEY3 = B.KEY3
WHERE 條件

A.KEY1 的欄位名稱可以與 B.KEY2 的欄位名稱不同, 但是 DATA TYPE 要一樣且長度最好一樣.

FULL JOIN : 聯集 , 二個TABLE 中只要有出現的都會顯示

INNER JOIN :交集, 二個TABLE 都要有資料才會顯示.

LEFT JOIN: 以左側TABLE 為主要顯示. 右側TABLE 中無資料者,就顯示NULL

RIGHT JOIN :與LEFT JOIN 相反.

satan5304 iT邦新手 5 級 ‧ 7 月前 檢舉

嗯,感謝指導,謝謝。

我要發表回答

立即登入回答