我有兩個歸SQL Server 2008的表,一個名字,另一個用於郵件:非規範化SQL Server表
create table Name (NameId int, Name varchar(50))
create table Email (NameId int, Email varchar(50))
go
insert into Name values (1, 'JOHN SMITH')
insert into Name values (2, 'MARY SMITH')
insert into Name values (3, 'PHILL TAYLOR')
go
insert into Email values (1, '[email protected]')
insert into Email values (1, '[email protected]')
insert into Email values (1, '[email protected]')
insert into Email values (2, '[email protected]')
insert into Email values (3, '[email protected]')
insert into Email values (3, '[email protected]')
insert into Email values (3, '[email protected]')
insert into Email values (3, '[email protected]')
go
當我加入這些表我有幾行,只有一個電子郵件,其中一行:
Select name, email
from Name inner join Email on name.NameId=email.NameId
NAME EMAIL
------------- --------------------------
JOHN SMITH [email protected]
JOHN SMITH [email protected]
JOHN SMITH [email protected]
MARY SMITH [email protected]
PHILL TAYLOR [email protected]
PHILL TAYLOR [email protected]
PHILL TAYLOR [email protected]
PHILL TAYLOR [email protected]
但我需要有相同的行中的所有電子郵件,以滿足預定義的佈局:
NAME EMAIL1 EMAIL2 EMAIL3 EMAIL4
------------- ----------------- --------------- ----------------------- -----------------
JOHN SMITH [email protected] [email protected] [email protected]
MARY SMITH [email protected]
PHILL TAYLOR [email protected] [email protected] [email protected] [email protected]
是否可以使用單個選擇?
任何想法將是非常讚賞
TIA
裏卡多·諾蓋拉
請問逗號分隔值是否可以完成這項工作?這更簡單.. –
你是否建議如果名稱相同,那麼電子郵件地址是指同一個人?這不符合現實,除非你將它限制在一些(在問題中未標明的)標準。 –
你是什麼意思的預定義佈局?我的意思是你的預定義佈局是什麼?將逗號分隔的電子郵件列表可以正常使用嗎? –