SQL中如何將兩個相同的表格組合成一個表格
SQL中如何將兩張相同的表格組合成一組表格一定要用union all來連接兩個表,否則相同的數據就合并了
查詢的時候就這樣
select * from a uion select * from b
如果要整理一張表就這樣
insert into a select * from b where b.主鍵 not in(select 主鍵 from a)
A、B兩表結構相同
A、B就是你那兩張相同的表
Select * from A
union all
Select * from B
--兩張表合并不去重----------
Select * from A
union
Select * from B
--兩張表合并去重----------
inner join
用C#代碼實現將同一個SQL2008數據庫中一個表的信息導入另同樣字段的表 高手幫忙!
看看這段游標的代碼,看是否能給你一定的啟發
declare MyTestCursor cursor
for select memb_id,memb_name from cm_member
/*從表中選取兩個字段*/
/* 表TBLPRICELISTGROUPITEM中的字段PGI_ITM_CODE是Unique Key */
-- 打開游標MyTestCursor:
open MyTestCursor
declare @memb_id int
declare @memb_name nvarchar(50)
--fetch取出游標所指的記錄,并將記錄結果存入到變量中:
fetch from MyTestCursor into @memb_id,@memb_name
/***************** begin of loop *******************************/
while @@FETCH_STATUS = 0
Begin
update cm_ycpoetic set
[email protected]_id where
[email protected]_name
fetch next from MyTestCursor into @memb_id,@memb_name
End
/***************** end of loop *******************************/
select @memb_id as code ,@memb_name as price
/***********關閉游標,釋放游標:***************/
close MyTestCursor
deallocate MyTestCursor
用select into語句吧.好像是這樣
能操作數據庫 就全選 復制就行 如果不行 要不就讀一條插一條 要不就寫個存儲過程 執行
怎么把兩個表格中順序不同,名稱相同的表格合并在一起
左邊表格兩千多數據,右邊只有幾百個。。。右邊有的名稱左邊基本都有,怎么把左邊的注冊地址合并到右邊的表格上,,,首先順序是不同的,沒有規律。我用VLOOKUP的公式不行,合并到一起,地址都是左邊的順序,沒法直接排列好到右邊的表格上
這種用代碼來處理吧!
需要具體的文件
用IF作判斷,再結合&作連接,也許能幫到你。
sql server中 同一個數據庫 兩張不同表 如何新建一個相同的對象?
我在新建一張表的時候 同時生成一張銷毀表rn現在要在表里添加一個非空字段 rnsql server提示該字段已經存在rn如何解決?不知道你想干嘛?
提示字段已經存在,那就不用添加了啊,或者你換個字段名再添加。
你是要在那一個表里加字段·
可能是因為你將這個新增的非空字段設為主鍵(PK),你可以先將主鍵的名稱改掉然后創建。
怎么把一個SQL數據庫內的三個關系相同的表合并為一個表
我的是一個DiscuzNT2.0網站,由于網站數據較多,我在后臺利用DiscuzNT2.0自帶的分表功能,把帖子數據表分成了三個表,由原來的POST,分為POST2和POST3,這樣SQL數據庫內就有了以這三個命名的表,這三個表內的數據及關系全部是一樣的,我現在想把這幾個表合并起來,我也就是說把POST2和POST3的兩個表數據合并到POST內,在這里不要求合并后網站能不能訪問,只要能夠把POST2和POST3的兩個表數據合并就行,不知道這樣可以實現不,說簡單點就是把POST2和3的數據依次插入POST表的最后面.rnrn請問哪位老師知道怎么操作,SQL語句怎么實現,或者有沒有相關的軟件,如果需要SQL語句,請寫出,感謝.給出表結構吧
或者借用excel表的方法:
首先,用exec master..xp_cmdshell 'bcp "aa..POST" out "d:\tt.xls" -c -SQINKD-Usa -Psa'將POST 表的所以數據導到excel中。
注意:aa是你的數據庫名稱,放在d盤下的名稱為tt的excel表中,SQINKD是你的服務管理器器名稱。
第二, 再依照這個方法,master..xp_cmdshell 'bcp "aa..POST2" out "d:\tt2.xls" -c -SQINKD-Usa -Psa'將剩下的2個表導出,如果你的三個表結構相同,excel名稱不變即可。
第三,把POST3也按照這個方法導出master..xp_cmdshell 'bcp "aa..POST2" out "d:\tt3.xls" -c -SQINKD-Usa -Psa'。
第四,整合這三個excel,數據怎么放看你自己的了,并取名為post.xls。
第五,新建一個新表new_post,表結構與POST相同,用
insert into new_post
select *
from OPENROWSET('MICROSOFT.JET.OLEDB.4.0','Excel 5.0;HDR=YES;DATABASE=d:\post.xls',sheet1$)這個語句導入整合的所有數據。之后建議將原來的三個表內容刪除以節約空間,一定要等所有操作完成之后刪除原表。
別看多,共就四條語句,操作起來很簡單,幾分鐘就搞定了。
wjzhch1,不用急的,就用max0960的方法,不過再加個限制條件limit,每次加5000條,這樣你就不用一次等70萬條數據插入時間,悠著點,呵呵
類似下面這樣
insert into post(c1,c2,c3,...)values(select c1,c2,c3....form post1 limit 0, 5000);
insert into post(c1,c2,c3,...)values(select c1,c2,c3....form post1 limit 5001, 10000);
當然,也可以在 select 語句中加入where等限制條件,防止重復插入等
語句多寫幾條沒關系,試試看
最安全的辦法是一張一張表的追加.
insert into post(c1,c2,c3,...)values(select c1,c2,c3....form post1);
其中c1,c2,c3的字段都要對應,post1導入完成后再改成post2就可以了.不知道這里能不能用*,如果可以測試的話,你可以試試看.
insert into post
(select * from post2
union
select * from post3)
對不起,是我沒問清楚。按上述語句,前提條件是:三個表的表結構必須相同,且post有主鍵時,post2和post3中不能與post中重復。能描述一下這三個表結構嗎?
相關推薦:
電子合同糾紛解決(簽電子合同糾紛怎么解決)
現戶籍所在地怎么填寫(戶籍所在地怎么填寫)
超生新生兒如何上戶(超生如何給孩子上戶口)
行政處罰會留案底嗎(行政處罰決定書會留案底嗎)
公民如何保護生命健康權(法律如何保護我們的健康)