如何創建一個虛擬的資料表,把兩個資料表合併,去除重複的欄位? |
尚未結案
|
AutumnErin
一般會員 發表:14 回覆:14 積分:10 註冊:2004-07-19 發送簡訊給我 |
現在有兩個類似的資料表除了部分的欄位名稱不同外其餘欄位名稱型態都相同。
希望能夠創建一個虛擬的資料表,把兩個資料表合併,把重複的欄位去除。
A表 A.ANo, A.AName, A.Money, A.City
B表 B.BNo, B.BName, B.Money, B.City OrderT.OrderNo=A.OrderNo
OrderT.OrderNo=B.OrderNo
其中A.OrderNo != B.OrderNo 合併後能有 C.ANo, C.ANamoe, C.BNo, C.BName, C.Money, C.City C.ANo, C.ANamoe, C.BNo, C.BName, C.Money, C.City
Null Null 003 8888 99999 KAO
004 99999 Null Null 88888 TAI ↑這是虛擬c表出現的結果 利用JOIN的方式都會使得欄位重複!目標就是把重複的欄位拿掉,合併。
不知哪位大大能夠幫我解決這個問題?
小弟謝先!
|
Fishman
尊榮會員 發表:120 回覆:1949 積分:2163 註冊:2006-10-28 發送簡訊給我 |
Hi AutumnErin, 試試以下 SQL Command(我猜的啦,不太清楚你的真正需要):
SELECT ANO,ANAME,NULL BNO,NULL BNAME,MONEY,CITY FROM A WHERE A.ANO NOT IN (SELECT BNO FROM B) UNION ALL SELECT NULL ANO,NULL ANAME,BNO,BNAME,MONEY,CITY FROM B WHERE B.BNO NOT IN (SELECT ANO FROM A) or SELECT ANO,ANAME,NULL BNO,NULL BNAME,MONEY,CITY FROM A WHERE NOT EXISTS (SELECT 'EXTST IN TABLE B' FROM B WHERE B.BNO = A.ANO) UNION ALL SELECT NULL ANO,NULL ANAME,BNO,BNAME,MONEY,CITY FROM B WHERE NOT EXISTS (SELECT 'EXTST IN TABLE A' FROM A WHERE A.ANO = B.BNO)若不是你要的,請告知你的 DataBase 為何?最好再提供更詳細的說明,如 Table A,B 內的資料及最後結果並稍微敘述一下 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman |
AutumnErin
一般會員 發表:14 回覆:14 積分:10 註冊:2004-07-19 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |