我有一张如下表所示的表格:
TBLContact
-------------------------------------------------
BranchId DepartmentId DepartmentName Phone No
-------------------------------------------------
BID100 DTID001 Mechanical 123654
BID100 DTID001 Mechanical 887744
BID101 DTID002 Automobile 045167
BID101 DTID002 Automobile 674632
我必须以一种方式在存储过程中构造一个查询,在传递'BranchId'作为查询的参数时,它将返回单个行中相应的'BranchId'的Department Phone No'逗号,虽然'Phone No'存在于特定'BranchId'的两行中。 例如;考虑将值'BID100'作为参数传递给查询/存储过程,查询将返回如下结果:
BranchId DepartmentId DepartmentName PhoneNo
---------------------------------------------------
BID100 DT001 Mechanical 123654,887744
PS:我正在使用SQL Server 2008。
答案 0 :(得分:0)
此处通过MS SQL Server中的XML data()命令显示的示例是:
select PhoneNo + ', ' as 'data()'
from TBLContact where branch_id = BID100
for xml path('')
答案 1 :(得分:0)
使用此脚本作为基础
declare @PhoneNo VARCHAR(8000)
select @PhoneNo = COALESCE(@PhoneNo+ ', ', '') + PhoneNo
from table
where BranchId = 'BID100'
select top 1 BranchId, DepartmentId, DepartmentName, @PhoneNo
from table
where BranchId = 'BID100'