台灣最大程式設計社群網站
線上人數
955
 
會員總數:245959
討論主題:189543
歡迎您免費加入會員
討論區列表 >> MS SQL >> 二表合併??
[]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
二表合併??
價值 : 50 QP  點閱數:777 回應數:7
樓主

fox
門外漢
0 17
256 13
發送站內信

二個表資料筆數相同,欄位no資料相同,

a表

--
b表

--
想要結果

--

搜尋相關Tags的文章: [ 合併表 ] ,
本篇文章發表於2016-10-28 14:32
1樓
不錯的參考

彩虹
檢舉此回應
有兩個方式可以達到

第一種


第二種




另外,您這一則問題【分組作編號】,方便在多補充說明一下嗎?
http://www.blueshop.com.tw/board/FUM20041006152735ZFS/BRD20161028094257548.html


發文後要記得回應一下,這是禮貌
不回應又直接問下一個問題...


本篇文章回覆於2016-10-28 14:46
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
作者回應

fox
檢舉此回應
感謝大大您的回覆,很抱歉忘了應有的禮儀,真是對不起><...
您的二種語法我都試過,會多出二筆 A0


可以麻煩您在幫我看看嗎?感恩?
因找不到編輯功能,在提問時排版亂了,晚點我在po過,感謝您~~
本篇文章回覆於2016-10-28 16:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
NO的資料值一定要是唯一。要不然就會發生你上面的情況。

因為你的資料並沒有唯一性。所以會造成你第一個A表A0。它是找出兩個B表A0的對應
第二個A表A0也是一樣會找出B表A0的兩個對應。

其實這樣的結果是正常的。

主要是因為你的NO編號並沒有唯一性才造成這樣的結果。
本篇文章回覆於2016-10-28 17:01
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

fox
檢舉此回應
感謝版大回復
那no不作唯一,有辦法實現我想要的結果嗎??
本篇文章回覆於2016-10-28 17:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

彩虹
檢舉此回應
你看要不要重新規劃一下結構了

我發現你都沒有所謂的主鍵((唯一值))

建議你還是把重複的值刪掉,
你也要分清楚哪一個是【主表】、哪一個是【外表】
本篇文章回覆於2016-10-28 17:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
最有價值解答

真的有點難
檢舉此回應
create procedure pro_yes
as
create table #a(No nvarchar(50),Name nvarchar(50))
insert #a
select 'A0','A0A'

insert #a
select '111','2221'

insert #a
select '1112','2221'

insert #a
select 'A0','A0A'

insert #a
select 'A1001','11111'

insert #a
select 'A1002','11111'

insert #a
select 'A1003','11111'


create table #b(No nvarchar(50),Groupsn nvarchar(50))
insert #b
select 'A0','11'

insert #b
select '111','11'

insert #b
select '1112','11'

insert #b
select 'A0','11'

insert #b
select 'A1001','11'

insert #b
select 'A1002','11'

insert #b
select 'A1003','11'


select No into #temp from #b

alter table #temp add Name nvarchar(50) null

update t1 set t1.Name=t2.Name from #temp t1 join #a t2 on t1.No=t2.No

alter table #temp add Groupsn nvarchar(50) null

update t1 set t1.Groupsn=t2.Groupsn from #temp t1 join #b t2 on t1.No=t2.No

select * from #temp
本篇文章回覆於2016-10-29 08:26
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

浩瀚星空
捐贈 VP 給 浩瀚星空 檢舉此回應
先不論能不能做到。先問該如何去做到這樣的條件。

在無唯一性的情況下,系統將資料呈現這樣的結果,是很正常的。
你能解決的辦法。就是要怎麼去將兩張表有呸一性的依附才行。

要不然~~~程式是很笨的,它並不能智能化幫你找出。

你優先要處理的就是怎麼讓他有唯一性才行。

依照你的資料。我會建議你兩張表都給個id唯一性吧。

畢竟你啷有兩個欄位,且又資料相同。這樣也無法做成複合性判斷處理。
本篇文章回覆於2016-10-29 20:47
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   
1

回覆
如要回應,請先登入.