这是一个有客户端ID为电话表需要解决方案。 2行到1行SQL Server 2008中
(ClientID int Primary key,
FName varchar(25),
LName varchar(25),
HomeAddress varchar(50))
CREATE TABLE Telephone
(TelephoneID tinyint IDENTITY(1,1)Primary key,
TelephoneNo int,
ClientID int foreign key references Client(ClientID))
,所以我的2规范化表为我的客户表中的值..
ClientID | FName | LName | HomeAddress
1 marvin Biu p.guevarra st.
2 harry sendon cali st.
,进入我的电话表..
TelephoneID | TelephoneNo | ClientID
1 1234567 1
2 7654321 1
3 2222222 2
,因为它可能是一个客户端有多个电话没有 所以我想变成这个样子。 。
ClientID | FName | LName | HomeAddress | Telephones
1 marvin Biu p.guevarra st. 1234567, 7654321
2 harry sendon cali st. 2222222
我只能拿出这样
select distinct lname, CAST(telephoneno AS VARCHAR(10)) + ',' + CAST(telephoneno AS VARCHAR(10)) as Telephones
from telephone
left join client
on client.clientid = telephone.clientid
弄成这个样子的代码..
LName | Telephones
Biu 1234567, 1234567
Biu 7654321, 7654321
sendon 2222222
请任何人的帮助,其确定该表中结束了简单的形式如上所示, 我真的希望1234567 telephoneno加入与7654321 telephoneno昏迷之间的电话列与一个Lname“Biu”列。这使得1排。 :/
可以请您给我解释一下你怎么做的,什么是XML路径和T和你放? –
@MharveenBiu。对于XML,这是如何获得串联字符串:http://technet.microsoft.com/en-us/library/ms190922(v=sql.110).aspx。 t和c只是表别名 – EricZ