① sql 如何將一個表中的兩條或多條擁有相同ID的記錄合並為一條
一、創建表:
create table stuUnion
(
sid int identity primary key,
cid int,
id varchar(500)
)
二、添加數據:
insert into stuUnion
elect 1,'a' union
select 1,'b' union
select 2,'c' union
select 2,'d' union
select 3,'e' union
select 3,'f' union
select 3,'g'
三、用標量函數查詢:
創建標量函數:
create function b(@cid int)
returns varchar(500)
as
begin
declare @s varchar(500)
select @s=isnull(@s+'','')+rtrim(id)+',' from stuUnion where cid=@cid
return @s
end;
用標量函數查詢:
select cid,dbo.b(cid) as id from stuUnion group by cid
用sqlserver的xml:
select cid,ID=STUFF((select ' '+rtrim(id)+',' from stuUnion where st.cid=cid order by id for XML path('')),1,1,'') from stuUnion st group by cid
② 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中。
③ sql合並重復的欄位
一句話搞定,這只是一個簡單的交叉查詢問題:
1.
方法1:
ACCESS有向導的,在查詢視圖里找到上面[插入]菜單,選擇交叉查詢,交叉查詢要求,必須有值進行計算,必須有列進行分類,必須有行進行分組,但N個組只能交叉1列數據,所以你就該把
數量
的合計
作為值
產品型號
分組
作為列用來分類
其他欄位
分組
作為行用來分組
明白沒,如果還沒明白就用代碼
2.
方法2用代碼:(看仔細我的代碼怎麼寫的格式不能錯)
TRANSFORM
Sum(數目)
as
數量合計
Select
訂單號,
姓名,
商品單價,
配送方式,
數量合計*單價
as
商品金額,
IIF(配送方式=韻達快遞,12,0)
as
配送金額,
配送金額+商品金額
as
金額合計
From
Order
Group
By
訂單號,
姓名,
商品單價,
配送方式,
數量合計*單價,
iif(配送方式='韻達快遞',12,0),
配送金額+商品金額
PIVOT
Order.產品型號;
看懂沒,直接復制進去檢查一下符號用一下.
交叉查詢語句是這么寫的:
TransForm
統計函數體
Select
分組行的欄位名...欄位名
From
表名
Group
By
分組的欄位名
Pivot
作為列的欄位名;
統計函數體就是交叉計算的結果,他叫
值,分組行的欄位名,是作為行的,他的作用就是體現每條記錄的詳細特徵,Group
By關鍵字是針對分組匯總的結束語,Pivot是將行轉換成列,記住,只能計算一個列,
在SQL中和在ACCESS語句都可以實現,下面這些哥們沒試過,不代表沒辦法實現,在資料庫中這種演算法很普遍,這叫做交叉查詢
④ sql表數據怎麼合並
我這里創建2個測試表 aa 與 bb, 還特地造了些其他的欄位,用於模擬 樓主的 「有很多欄位」x0dx0ax0dx0a1> select * from aa;x0dx0a2> select * from bb;x0dx0a3> gox0dx0aa b cx0dx0a----------- ----------- -----------x0dx0a 1010 5 1x0dx0a 1011 6 2x0dx0a 1012 7 3x0dx0ax0dx0a(3 行受影響)x0dx0aa b c dx0dx0a----------- ----------- ----------- -----------x0dx0a 1011 6 4 7x0dx0a 1012 9 5 8x0dx0a 1013 8 6 9x0dx0ax0dx0a(3 行受影響)x0dx0ax0dx0a1> SELECTx0dx0a2> isnull(aa.a, bb.a) AS a,x0dx0a3> isnull(aa.b, bb.b) AS b,x0dx0a4> isnull(aa.c, bb.c) AS 其他數據C,x0dx0a5> bb.d AS 其他數據Dx0dx0a6> FROMx0dx0a7> aa full join bb on (aa.a = bb.a AND aa.b = bb.b)x0dx0a8> gox0dx0aa b 其他數據C 其他數據Dx0dx0a----------- ----------- ----------- -----------x0dx0a 1010 5 1 NULLx0dx0a 1011 6 2 7x0dx0a 1012 7 3 NULLx0dx0a 1012 9 5 8x0dx0a 1013 8 6 9x0dx0ax0dx0a(5 行受影響)
⑤ sql內多條數據合並為一條
有兩種方式實現。
在維度相同的情況下,可以用Union方式進行去重實現。
大多數情況下不是第一種的特殊情況,此時可以採用關聯的方式進行合並。也就是把每條數據當作一個表,關聯查詢合並成一條數據。如:
⑥ sql server 怎麼將相同單號的數據進行合並,且金額需要進行合計;
這還不簡單,這是SQL基礎呀兄地。select 銷售訂單號,sum(銷售金額) from 訂單表 group by 銷售訂單號。
⑦ SQL如何將某一列中相同的數據合並
SELECT GROUP_CONCAT( 欄位名 ) FROM 表名
並將該欄位 在WHERE條件下 GROUP BY
⑧ 怎麼用SQL語句將一張表中ID相同的行的內容合並在一起
工具/材料:Management Studio。
1、首先在桌面上,點擊「Management Studio」圖標。