『壹』 [sql]請教如何將幾個表的數據查詢合並到一起
SELECTA.code,b.shuliang,c.jine
FROMa
LEFTJOINbONa.code=b.code
LEFTJOINcONa.code=c.code
WHEREb.riqi>2016-07-01
ANDb.riqi<2016-07-31
ANDc.riqi>2016-07-01
ANDc.riqi<2016-07-31
ORDERBYa.codeasc
『貳』 sql server 語句如何將3個表合並成一個表
先說一下我的思路:
首選你把表1,表2,表3中的數據都合並在一起表中,使用union all合並在一起。先不要管姓名是否會重復。
但是在執行合並的時候,需要對每一個待合並的數據,打上一個標簽,代表這個是哪個表中來的數據,這個標簽最後用於區分同一個人的不同的成績是分別是多少,不能因為合並在一起後,就把同一個人的三項成績給搞混了。
合並後的數據進行行轉列的操作。
具體的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$)這個語句導入整合的所有數據。之後建議將原來的三個表內容刪除以節約空間,一定要等所有操作完成之後刪除原表。
別看多,共就四條語句,操作起來很簡單,幾分鍾就搞定了。
『肆』 SQL資料庫的表。怎麼同時連接3個表查詢。
可以參考下面的方法:
1、select * from 表1,表2,表3 where 表1.欄位=表2.欄位 and 表1.欄位=表3.欄位
2、select * from 表1 join 表2 on 表1.欄位=表2.欄位 and join 表3 on 表1.欄位=表3.欄位
如果沒有AND,前面就需要加括弧了。
(4)sql三表合並信息擴展閱讀:
參考語句
創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
1、create table tab_new like tab_old (使用舊表創建新表)
2、create table tab_new as select col1,col2… from tab_old definition only
刪除新表
drop table tabname
『伍』 在SQL中,合並多個表中的數據有哪3種方法
合並多個表中的數據的方法有三種:
聯合(Union)-合並多個數據表中的行
子查詢-將一個查詢包含到另一個查詢中
聯接-合並多個數據表中的列
『陸』 3條SQL查詢結果如何合並在一起,麻煩高手一下
請貼出你的sql文,並且把你要的結果形式說明一下
是sql查出來的數據已經在一起?
還是三條數據先查詢來,再合並到一起?
3條sql要想數據合並在一起,那麼每條數據結果都應該有關聯的鍵值對應,要不然是無法合並的。
建議樓主可以學學資料庫級聯查詢 left join、right join 等!
『柒』 請教sql200資料庫 3個表合並成為一個表語句
用下面這個語句就行了,Table1-3的表名改成你自己的
SELECT
[Table3].[mname],
[temp1].[no],
[temp2].[rmb]
FROM
[Table3]
INNER
JOIN
(SELECT
[id],
SUM([no])
AS
[NO]
FROM
[Table1]
GROUP
BY
[id])
AS
[Temp1]
ON
[Table3].[id]
=
[Temp1].[id]
INNER
JOIN
(SELECT
[id],
SUM([rmb])
AS
[rmb]
FROM
[Table2]
GROUP
BY
[id])
AS
[Temp2]
ON
[Table3].[id]
=
[Temp2].[id]
ORDER
BY
[Table3].[mname]
『捌』 如何用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
『玖』 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
*/
『拾』 三表合並的SQL語句
用聯合查詢
select 代碼 名稱 規格 單位 采購數量 采購單價 采購金額 庫存數量 庫存單價 庫存金額
from a目錄表 ineer join b庫存表 on b庫存表.代碼=a目錄.代碼 ineer join c采購表 on b庫存表.代碼= c采購表
這個是標注寫法
使用where是非標准寫法 在程序有BUG