У меня есть одна таблица, и я пытаюсь получить имена хостов назначения, которые все пользователи используют совместно, используя 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 компьютера, так как их тысячи, но я хочу выбрать только конкретные.