我得到的行比我期望的查询返回的行多。
我相信这与我的 join 语句有关。
有多个表,其中包含不同的信息。 Person
保存有关此人的主要信息,但不保存地址、电话或电子邮件。这是因为最初的设计师希望桌子能够容纳多个电话号码、电子邮件和地址。
SELECT (person.FirstName + ' ' + person.LastName) as FullName
,ISNULL(Person.isClient, '')
,ISNULL(Person.UDF1, '')
,ISNULL(Address.City, '')
,ISNULL(Address.state, '')
,PersonAddress.Person
,PersonAddress.Address
,ISNULL(Phone.PhoneNumber, 'N/A')
,Email.Email
,Person.Website
FROM Person
left join PersonAddress on Person.ID = PersonAddress.Person
left join Address on PersonAddress.Address = Address.ID
left join PersonPhone on Person.ID = PersonPhone.Person
left join Phone on PersonPhone.Person = Phone.ID
left join Email with (nolock) on Person.ID = Email.Person
WHERE (
isclient = 'prospect'
or isclient = 'client'
)
and …
Run Code Online (Sandbox Code Playgroud)