У меня есть одна таблица, и я пытаюсь получить имена хостов назначения, которые есть у всех пользователей, используя Impala SQL.
прокси-таблица:
sourcehostname destinationhostname
comp1 google.com
comp2 google.com
comp1 yahoo.com
comp1 facebook.com
comp2 facebook.com
comp3 facebook.com
Когда я запускаю следующее, чтобы вернуть разные имена хостов назначения из одной таблицы на 2 именах исходных хостов, это работает:
SELECT DISTINCT t1.destinationhostname
FROM proxy_table t1 JOIN proxy_table t2
ON t1.destinationhostname = t2.destinationhostname AND t1.sourcehostname ="comp1" AND t2.sourcehostname="comp2";
Он возвращает:
google.com
и facebook.com
Я пытаюсь вернуть значения, где comp1
comp2
и comp3
имеют что-то общее, что было бы facebook.com
, но я не могу правильно ответить на этот запрос:
SELECT DISTINCT t1.destinationhostname
FROM proxy_table t1 JOIN proxy_table t2 JOIN proxy_table t3
ON t1.destinationhostname = t2.destinationhostname AND t1.sourcehostname ="comp1" AND t2.sourcehostname="comp2" t3.sourcehostname = "comp3";
В запросе я хотел бы указать отдельные 3 компьютера, поскольку их тысячи, но я хочу выбрать только определенные.