大佬教程收集整理的这篇文章主要介绍了sql查询从同一列中获取一行的多个值,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
如果要选择email
,则@H_329_3@phone在子查询中,这两个联接可能是不必要的:
left join StaffContacTinformation as sci on sr.ID = sci.StaffID
inner join DictStaffContactTypes as dsct on sci.ContactTypEID = dsct.ID
由于它们,您得到的行与特定人的联系人一样多。
最终查询可能类似于:
SELECT sr.Lastname, sr.Firstname, dd.name,
Email = (
SELECT sc.ContactValue FROM StaffContacTinformation as sc
INNER JOIN StaffRoster as roster on sc.StaffID = roster.ID
where sc.ContactTypEID = 3 and roster.ID = sr.ID
),
Phone = (
SELECT sc1.ContactValue FROM StaffContacTinformation as sc1
INNER JOIN StaffRoster as roster on sc1.StaffID = roster.ID
where sc1.ContactTypEID = 1
)
FROM StaffRoster as sr
left join Dictdivisions as dd on sr.divisionID = dd.ID
where (sr.Active = 1 and sr.isContractor = 0 )
ORDER BY sr.Lastname, sr.Firstname
如果每个员工有多个联系方式,我将获得多行,但我只希望每位员工列出他们的姓,名,部门名称,电子邮件和电话。
所以它应该像这样
First Name last name Division Email Phone
Test Guy Exec test@gmail.com 555-5555
这是我所拥有的,但不起作用:
SELECT sr.LastName,sr.FirstName,dd.Name,Email = (SELEct sc.ContactValue FROM StaffContacTinformation as sc
INNER JOIN StaffRoster as roster on sc.StaffID = roster.ID
where sc.ContactTypEID = 3 and roster.ID = sr.ID),Phone = (SELECT sc1.ContactValue FROM StaffContacTinformation as sc1
INNER JOIN StaffRoster as roster on sc1.StaffID = roster.ID
where sc1.ContactTypEID = 1)
FROM StaffRoster as sr
left join DictDivisions as dd on sr.DivisionID = dd.Id
left join StaffContacTinformation as sci on sr.ID = sci.StaffID
inner join DictStaffContactTypes as dsct on sci.ContactTypEID = dsct.ID
where (sr.Active = 1 and sr.isContractor = 0 )
ORDER BY sr.LastName,sr.FirstName
我用以下查询解决了它:
SELECT sr.LastName,Phone = (SELECT sc.ContactValue FROM StaffContacTinformation as sc
INNER JOIN StaffRoster as roster on sc.StaffID = roster.ID
where sc.ContactTypEID = 1 and roster.ID = sr.ID)
FROM StaffRoster as sr
left join DictDivisions as dd on sr.DivisionID = dd.Id
where (sr.Active = 1 and sr.isContractor = 0 )
ORDER BY sr.LastName,sr.FirstName
以上是大佬教程为你收集整理的sql查询从同一列中获取一行的多个值全部内容,希望文章能够帮你解决sql查询从同一列中获取一行的多个值所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。