❶ sqlserver 一對多導出到同一行
1/ 先建立一個字元連接函數:
CREATE FUNCTION [dbo].[UDF_UniteStr](@FlagId int)
RETURNS NVARCHAR(max)
AS
BEGIN
DECLARE @NameStr VARCHAR(max)
SET @NameStr = ''
SELECT @NameStr= @NameStr+ ' ' + tt.bname
FROM (SELECT [A&B].aid,A.name as aname,[A&B].bid,B.name as bname
FROM [A&B] INNER JOIN A ON [A&B].aid=A.id
INNER JOIN B ON [A&B].bid=B.id
) tt
WHERE tt.aid= @FlagId
SET @NameStr= STUFF(@NameStr,1 ,1 ,'')
RETURN @NameStr
END
GO
2/ 調用該函數進行查詢即可:
SELECT Id,name,bname=dbo.[UDF_UniteStr](id)
FROM A
❷ SQL語句怎麼實現幾列數據合並成一行
你這樣做的話 就這兩個表是不行的。
本來就是一對多的關系 你強行的要把其變成一對一的關系那是不可能。
如果你是要在程序里實現可以這樣:
001,a,10
001,b,10
001,c,10
寫到一個DataTable里
然後循環讀取行的第二和第三個值
在寫到一個字元串里
❸ sqlserver怎麼通過sql實現兩行數據拼成一行
select
select * from table1,
select * from table2 where rownum = 1,
select * from table2 where rownum = 2,
select * from table2 where rownum = 3
from al;
❹ 求sqlserver2008 中多行轉 成一行多列的 方法
表結構都不一樣了?
要是數據比較少呢,你可以試試手動修改你的表,表結構不一樣就需要uodate了。
在表上右鍵,可以 edit tio 200 rows這個比較方便
❺ sqlserver怎麼將兩行數據合並成一行
select czy,sum(sfsl),sum(sfje),...............
from
(
select czy=case when czy='董事會成員' then 『內部職工』end,sfsl,sfje,.....
from 表
) t1
group by czy
❻ SqlServer怎麼把查詢出來的結果整合集為一行
先得進行序號識別,用COUNT(*)語句.
再進行選擇,用SELECT語句.
❼ 求SQL代碼:要求把多行內容合並到一行內。
如果是oracle資料庫,那麼有一個相關函數
wmsys.wm_concat
直接可以寫為
select id,wmsys.wm_concat(value) from a group by id
如果是sqlserver
要用for xml path,具體代碼我記得是
select id, [values]=stuff((select ','+[value] from a t where id=a.id for xml path('')), 1, 1, '') from a group by id
❽ SQL Server2008 怎麼將一列的多行內容合並成一行,其他列不合並。如圖:
SQLSERVER本身不可以, 你需要用報表服務或者自己寫一個程序來展示數據
❾ SQLserver 多行變一行的問題
SELECTDISTINCT
sn,
STUFF((SELECT
','+CONVERT(varchar,工號)
FROM[dbo].workermessage
WHEREsn=A.sn
FORxmlPATH(''))
,1,1,''
)ASC
FROM[dbo].workermessageASA
❿ SQL 將屬於同一個ID下的多行數據合並到一行
selectid,sum(isnull(data1,0))data1,sum(isnull(data2,0))data2from表1groupbyid
sqlserver寫法,其他資料庫略有不同