iT邦幫忙

0

SQL 報表合併1

sql

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

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

satan5304 iT邦新手 5 級 ‧ 2016-08-09 17:27:12 檢舉
補充,這二個table的key名稱不同,用inner join on的話,select要怎麼下比較好呢?感謝
satan5304 iT邦新手 5 級 ‧ 2016-08-09 17:29:58 檢舉
用「UNION」!
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

1
做工仔人!
iT邦大師 1 級 ‧ 2016-08-09 17:51:44
最佳解答

看來:是二個不同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 級 ‧ 2016-08-09 17:57:43 檢舉

嗯,感謝指導,謝謝。

我要發表回答

立即登入回答