假设我有2张桌子,如下所示:
表1:
variable value
--------------------------------------------
app1 name@email.com, name2@email.com
app2 name3@email.com, name4@email.com
表2:
app DatabaseName server
---------------------------
app1 DB1 server1
app1 DB1 server2
app2 DB2 server1
app2 DB2 server3
我想从Table1的value列中选择电子邮件收件人,在Table2中,DatabaseName为“ DB1”。
预期结果是:name @ email.com,name2 @ email.com。
我该怎么做?
这里最棘手的部分是,表1中的列名不是“ app”,而是“ variable”。就是这样的要求,那么如何根据DatabaseName在Table2中属于Table1并与之匹配的分类应用程序来实现为DatabaseName选择电子邮件收件人?
答案 0 :(得分:1)
您只需要加入即可。
SELECT DISTINCT T1.[value]
FROM Table1 T1 INNER JOIN Table2 T2
ON T1.[variable] = T2.[APP]
WHERE T2.DatabaseName = 'DB1'
答案 1 :(得分:1)
您需要加入表格:
select distinct t1.*
from table1 t1 inner join table2 t2
on t2.app = t1.variable
where t2.databasename = 'DB1'
我使用distinct
是因为从您的示例数据来看,databasename = 'DB1'
有2行,否则您将获得同一行两次。