SQL - Использование Comparator в SQL для получения общих данных для различных значений SQL - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть следующая схема SQL
Asset
id - int - Первичный ключ
имя - нварчар

FailureHistory
id - int - Первичный ключ
имя - нварчар

AssetFailureHistory
id - int
failId - int Внешний ключ для идентификатора в таблице FailureHistory
assetId - int - Внешний ключ для идентификатора в таблице активов

Пример данных

Актив

id   name  
1    Pump1  
2    Pump2  
3    Pump3

FailureHistory

id   name  
1    Valve Failure  
2    Fan Failure  
3    Rotor Failure

AssetFailureHistory

id   failureId assetId  
1    1           1  
2    1           2  
3    2           1  
4    2           3  
5    3           3  
6    2           2  
7    3           2  
8    1           3  
9    3           1  
10   1           3

Ожидаемый результат

name  
Pump1  
Pump2

Я хочу получить имя всех активов из таблицы активов, которые имеют одинаковую историю отказов. В приведенном выше примере Pump1 и Pump2 имеют одинаковые сбои - 1, 2, 3 появляются ровно один раз. Это то, что я хочу в результате запроса SQL

1 Ответ

0 голосов
/ 07 ноября 2018
select
   asset.name
from
   assetfailurehistory asfh
   inner join asset on asset.id = asfh.assetid 
 where
   asfh.failureid in (1,2,3);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...