Как выбрать и выбрать из 2 таблиц? - PullRequest
0 голосов
/ 10 июня 2019

Предположим, у меня есть 2 таблицы, как показано ниже:

Table1:

variable    value
--------------------------------------------
app1        name@email.com, name2@email.com
app2        name3@email.com, name4@email.com

Table2:

app DatabaseName    server
---------------------------
app1    DB1        server1
app1    DB1        server2
app2    DB2        server1
app2    DB2        server3

Я хочу выбрать получателей электронной почты из столбца значений в Таблице 1, для которого DatabaseName равен «DB1» в Таблице 2.

Ожидаемые результаты: name@email.com, name2@email.com.

Как я могу это сделать?

По сути, сложная часть здесь заключается в том, что имя столбца не «приложение» в таблице 1, а скорее «переменная». Таким образом, это требование, так как мне добиться выбора получателей электронной почты для databaseName на основе классифицированного приложения, которому DatabaseName принадлежит в Table2 и соответствует в Table1?

Ответы [ 2 ]

1 голос
/ 10 июня 2019

Вам необходимо присоединиться к столам:

select distinct t1.*
from table1 t1 inner join table2 t2
on t2.app = t1.variable
where t2.databasename = 'DB1'

Я использовал distinct, потому что из ваших образцов данных есть 2 строки для databasename = 'DB1', в противном случае вы получите одну и ту же строку дважды.

1 голос
/ 10 июня 2019

Вам просто нужно сделать объединение.

SELECT DISTINCT T1.[value] 
FROM Table1 T1 INNER JOIN Table2 T2 
ON T1.[variable] = T2.[APP] 
WHERE T2.DatabaseName = 'DB1'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...