【发布时间】:2018-05-09 22:37:32
【问题描述】:
我正在使用 SQL Server 中的选择查询连接三个表以获取结果。
- 联系表
- 代码表
- 扇区表
虽然联系人表包含单独的联系人记录,但其他两个表对于每个联系人都有多个记录。基本上,它包含该人拥有的股份(如苹果、微软等)和他感兴趣的部门。当我们发送“Apple”、“Health Sector”等搜索条件时,选择查询为每个联系人返回一行。现在,在返回的结果中,我想打印一列,其中包含有关匹配条件的信息。
例如
----------------------------------------------------
Contact id name email
----------------------------------------------------
1 John john@sas.com
2 Bret bret@sas.com
3 Mike mike@cityon.com
Ticker id contact_id Ticker
---------------------------------------------------
1 1 APPLE
2 1 MCSFT
3 2 GOOGLE
4 3 APPLE
Sector id contact_id Sector
---------------------------------------------------
1 1 Health
2 2 Retail
3 2 FMCG
4 3 FMCG
查询是:
select
id, name, email, reason
from
contact
where
id in (select ttemp.contact_id
from ticker ttemp
where ttemp.ticker in ('GOOGLE'))
or id in (select stemp.contact_id
from sector stemp
where stemp.sector in ('FMCG'))
现在它返回联系人 2 (Bret) 和 3 (Mike)。我想在 reason 列中为 Bret 打印“GOOGLE, FMCG”,为 Mike 打印“FMCG”。
希望我清楚这一点。有什么建议的朋友吗?
【问题讨论】:
-
编辑您的问题并显示您想要获得的结果。
标签: sql sql-server select subquery