當前位置:首頁 » 編程語言 » sql多少張表可以合並
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql多少張表可以合並

發布時間: 2023-07-04 22:50:23

1. 如何用sql語句將三張表合並為一張表

select
a.id,
a.data1,
a.notes1,
b.data2,
b.note2,
c.data3,
c.notes3
into
x
from
a,b,c
where
a.id
=
b.id
and
a.id
=
c.id
這樣三張表的數據就都放在表x里了
注意是在表x不存在的情況下
存在的話這樣
insert
into
x
select
a.id,
a.data1,
a.notes1,
b.data2,
b.note2,
c.data3,
c.notes3
from
a,b,c
where
a.id
=
b.id
and
a.id
=
c.id

2. sql如何將多個表合並成一個表

--復雜點的方法,


DECLARE @startTime DATETIME --開始的時間

DECLARE @endTime DATETIME --結束的時間

--比如我要得到1月到2月的數據

SET @startTime = '2014-01-01 00:00:00.000' --從新年第一天開始

SET @endTime = GETDATE() --一直到當前時間


--准備創建表

--根據月份創建

DECLARE @mi INT

--(這里必須要是開始時間和結束時間在一年之內的情況,如果不是在一年以內則要另外考慮,懶得寫)

SET @mi = MONTH(@endTime) - MONTH(@startTime) + 1 --用結束月份減去開始月份,得到總共要創建幾個月份表(加上當前月份)

--PRINT @mi

WHILE @mi >0

BEGIN

DECLARE @tableName VARCHAR(6) --月份表名

DECLARE @sql NVARCHAR(1000)

SET @tableName = '2014'

IF @mi<10

BEGIN

SET @tableName = @tableName + '0'

END

SET @tableName = @tableName + CAST(@mi AS VARCHAR)

IF NOT EXISTS (SELECT * FROM sysobjects WHERE [name] = @tableName AND [type] = 'U')

BEGIN

--如果當前月份表不存在,創建當前月份表

SET @sql = 'CREATE TABLE '+@tableName + ' (MId INT PRIMARY KEY IDENTITY(1,1))'

PRINT @sql

--執行

--EXECUTE sp_executesql N@sql

END

DECLARE @dayName VARCHAR(8) --天表名

WHILE CONVERT(VARCHAR(6),@endTime,112)=@tableName --確定當前時間是否是當前月的

BEGIN

SET @sql = ''

SET @dayName = CONVERT(VARCHAR(8),@endTime,112)

SET @sql = 'INSERT INTO '+@tableName +' VALUES SELECT * FROM ' + @dayName

PRINT @sql

--執行

--EXECUTE sp_executesql N@sql

SET @sql = ''

SET @endTime = DATEADD(DAY,-1,@endTime)

END

SET @mi = @mi - 1 --月份減一

/*

------------------------------------------------------------

CREATE TABLE 201402 (MId INT PRIMARY KEY IDENTITY(1,1))

INSERT INTO 201402 VALUES SELECT * FROM 20140219

INSERT INTO 201402 VALUES SELECT * FROM 20140218

INSERT INTO 201402 VALUES SELECT * FROM 20140217

INSERT INTO 201402 VALUES SELECT * FROM 20140216

INSERT INTO 201402 VALUES SELECT * FROM 20140215

INSERT INTO 201402 VALUES SELECT * FROM 20140214

INSERT INTO 201402 VALUES SELECT * FROM 20140213

INSERT INTO 201402 VALUES SELECT * FROM 20140212

INSERT INTO 201402 VALUES SELECT * FROM 20140211

INSERT INTO 201402 VALUES SELECT * FROM 20140210

INSERT INTO 201402 VALUES SELECT * FROM 20140209

INSERT INTO 201402 VALUES SELECT * FROM 20140208

INSERT INTO 201402 VALUES SELECT * FROM 20140207

INSERT INTO 201402 VALUES SELECT * FROM 20140206

INSERT INTO 201402 VALUES SELECT * FROM 20140205

INSERT INTO 201402 VALUES SELECT * FROM 20140204

INSERT INTO 201402 VALUES SELECT * FROM 20140203

INSERT INTO 201402 VALUES SELECT * FROM 20140202

INSERT INTO 201402 VALUES SELECT * FROM 20140201

CREATE TABLE 201401 (MId INT PRIMARY KEY IDENTITY(1,1))

INSERT INTO 201401 VALUES SELECT * FROM 20140131

INSERT INTO 201401 VALUES SELECT * FROM 20140130

INSERT INTO 201401 VALUES SELECT * FROM 20140129

INSERT INTO 201401 VALUES SELECT * FROM 20140128

INSERT INTO 201401 VALUES SELECT * FROM 20140127

INSERT INTO 201401 VALUES SELECT * FROM 20140126

INSERT INTO 201401 VALUES SELECT * FROM 20140125

INSERT INTO 201401 VALUES SELECT * FROM 20140124

INSERT INTO 201401 VALUES SELECT * FROM 20140123

INSERT INTO 201401 VALUES SELECT * FROM 20140122

INSERT INTO 201401 VALUES SELECT * FROM 20140121

INSERT INTO 201401 VALUES SELECT * FROM 20140120

INSERT INTO 201401 VALUES SELECT * FROM 20140119

INSERT INTO 201401 VALUES SELECT * FROM 20140118

INSERT INTO 201401 VALUES SELECT * FROM 20140117

INSERT INTO 201401 VALUES SELECT * FROM 20140116

INSERT INTO 201401 VALUES SELECT * FROM 20140115

INSERT INTO 201401 VALUES SELECT * FROM 20140114

INSERT INTO 201401 VALUES SELECT * FROM 20140113

INSERT INTO 201401 VALUES SELECT * FROM 20140112

INSERT INTO 201401 VALUES SELECT * FROM 20140111

INSERT INTO 201401 VALUES SELECT * FROM 20140110

INSERT INTO 201401 VALUES SELECT * FROM 20140109

INSERT INTO 201401 VALUES SELECT * FROM 20140108

INSERT INTO 201401 VALUES SELECT * FROM 20140107

INSERT INTO 201401 VALUES SELECT * FROM 20140106

INSERT INTO 201401 VALUES SELECT * FROM 20140105

INSERT INTO 201401 VALUES SELECT * FROM 20140104

INSERT INTO 201401 VALUES SELECT * FROM 20140103

INSERT INTO 201401 VALUES SELECT * FROM 20140102

INSERT INTO 201401 VALUES SELECT * FROM 20140101



*/


3. sql怎麼把兩張表合並成一張

sql把兩張表合並成一張步驟如下:

1、我們首先將以A為基準用leftjoin以B為基準用right,都要就用fulljoin 。

4. sql一個庫裡面有一百張表 怎麼合並在一張表裡面呢大神求助。。。我小白 麻煩懂得 說詳

最簡單的回答:這一百張表的表名,一般你是得老老實實一個一個將它們碼出來,按SQL語句的規則編寫語句。


1、分橫和聯接和縱向聯接,兩種方式。

2、橫向聯接情況下,每個表中的記錄都要有一個特定的其它表中有的記錄,以保證它們的信息能對位串在一起。比如做絕嫌每個表中的記錄都有一個純手學生證編號,而且這個編號原則上得是唯一的。

select*from
表1
JOIN表2ON表2.學生證編號=表1.學生證編號
JOIN表3ON表3.學生證編號=表1.學生證編號
JOIN表4ON表4.學生證編號=表1.學生證編號
……

3、縱向聯接情況下宏櫻,每個表中的欄位(或要列出的欄位都得相同),以保證它們縱向信息能對位。

selectA1,A2,A3from表1
union
selectA1,A2,A3from表2
union
selectA1,A2,A3from表3
union
selectA1,A2,A3from表4
union
……

5. sql兩個表數據合並到一個新表

SQL 資料庫中的兩個表的數據合並到一個新表中,首先需要create一個新的表,然後根據數據表結構insert兩個表的數據到新表中即可完成兩個表數據合並到一個新表。

6. sql如何把兩張表的數據合並起來

1.兩個不同的表進行查詢,需要把結果合並,

比如table1的列為 id, user_id, type_id,pro_id;

table2的列為 id,user_id,collect_id;分別如下圖所示

table1:

總結:其實就是把對慧旁應的列補充到沒有該列的表中,在例子中就是把collect_id補充到table1中,

把type_id,pro_id補充到table2中。

7. 怎麼把一個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$)這個語句導入整合的所有數據。之後建議將原來的三個表內容刪除以節約空間,一定要等所有操作完成之後刪除原表。

別看多,共就四條語句,操作起來很簡單,幾分鍾就搞定了。

8. 怎麼把SQL多個表關聯合並成一個表

用union all+group by。多少ID都沒關系吧,除非你說的是有上千個表。。。

selectID,sum(qty1)qty1,sum(qty2)qty2,sum(qty3)qty3(
selectID,qty1,0qty2,0qty3from表1unionall
selectID,0qty1,qty2,0qty3from表2unionall
selectID,0qty1,0qty2,qty3from表3)ast1
groupbyID