Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
ppatel112
Starting Member
35 Posts |
Posted - 2011-09-06 : 22:12:54
|
| Hi Guys,i have following query where there are three different type of phone and i want those be seperate alias and be presented in my system. (SELECT Emai_EmailAddress FROM dbo.Email WHERE (dbo.Person.Pers_PersonId = Emai_PersonID) AND (dbo.Person.Pers_CompanyId = Emai_CompanyID) AND (Emai_Deleted IS NULL) AND (Emai_Type = N'Private')) AS Pers_Private_Email --(SELECT Phon_Number -- FROM dbo.Phone -- WHERE (dbo.Person.Pers_PersonId = Phon_PersonID) AND (dbo.Person.Pers_CompanyId = Phon_CompanyID) AND (Phon_Deleted IS NULL) AND -- (Phon_Type = 'Home')) AS Pers_Home_Phone --(SELECT Phon_Number-- FROM dbo.Phone AS Phone_3-- WHERE (dbo.Person.Pers_PersonId = Phon_PersonID) AND (dbo.Person.Pers_CompanyId = Phon_CompanyID) AND (Phon_Deleted IS NULL) AND -- (Phon_Type = 'Mobile')) AS Pers_Mobile_Phone,-- (SELECT Phon_Number-- FROM dbo.Phone AS Phone_2-- WHERE (dbo.Person.Pers_PersonId = Phon_PersonID) AND (dbo.Person.Pers_CompanyId = Phon_CompanyID) AND (Phon_Deleted IS NULL) AND -- (Phon_Type = 'Business')) AS Pers_Work_PhoneFROM dbo.Person LEFT OUTER JOIN dbo.Company ON dbo.Person.Pers_CompanyId = dbo.Company.Comp_CompanyId LEFT OUTER JOIN dbo.Address ON dbo.Address.Addr_AddressId = dbo.Person.Pers_PrimaryAddressIdWHERE (dbo.Person.Pers_Deleted IS NULL)is it possible by any means to merge the query into one for all the three phone types.please advise.regards,parth |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2011-09-06 : 22:41:33
|
| [code]...Emai_EmailAddress AS Pers_Private_Emailph.Pers_Home_Phoneph.Pers_Mobile_Phone,ph.Pers_Work_PhoneFROM dbo.Person LEFT OUTER JOINdbo.Company ON dbo.Person.Pers_CompanyId = dbo.Company.Comp_CompanyId LEFT OUTER JOINdbo.Address ON dbo.Address.Addr_AddressId = dbo.Person.Pers_PrimaryAddressIdLEFT OUTER JOIN (SELECT Phon_PersonID,Phon_CompanyID,MAX(CASE WHEN Phon_Type = 'Home' THEN Phon_Number ELSE NULL END) AS Pers_Home_Phone,MAX(CASE WHEN Phon_Type = 'Mobile' THEN Phon_Number ELSE NULL END) AS Pers_Mobile_Phone,MAX(CASE WHEN Phon_Type = 'Business' THEN Phon_Number ELSE NULL END) AS Pers_Work_PhoneFROM dbo.PhoneWHERE Phon_Deleted IS NULLGROUP BY Phon_PersonID,Phon_CompanyID)phON dbo.Person.Pers_PersonId = ph.Phon_PersonIDAND dbo.Person.Pers_CompanyId = ph.Phon_CompanyIDLEFT OUTER JOIN (SELECT Emai_PersonID,Emai_CompanyID,Emai_EmailAddressFROM dbo.EmailWHERE Emai_Deleted IS NULL AND Emai_Type = N'Private')emON (dbo.Person.Pers_PersonId = em.Emai_PersonID) AND (dbo.Person.Pers_CompanyId = em.Emai_CompanyID) WHERE (dbo.Person.Pers_Deleted IS NULL)[/code]------------------------------------------------------------------------------------------------------SQL Server MVPhttp://visakhm.blogspot.com/ |
 |
|
|
|
|
|
|
|