SQL: Фильтрация объединенных таблиц - PullRequest
0 голосов
/ 09 июля 2020

здесь я упрощаю свой вариант использования: у меня есть таблицы N.2: DUT (тестируемое устройство), содержащее информацию об устройстве, и TestResults , содержащие тестовые измерения DUT. UUTid первичного ключа объединяет две таблицы:

Таблица DUT :

  • UUTid (первичный ключ)
  • SerialNumber
  • Дата
  • Оператор…

Таблица TestResults :

  • UUTid (внешний ключ)
  • TestName
  • TestType
  • TestResult…

Ну, с помощью INNER JOIN я получаю детали теста из таблицы TestResults путем фильтрации по серийному номеру DUT, но есть ли способ рассматривать ТОЛЬКО тестируемые устройства, значения TestResult и TestName (из таблицы TestResults) содержат заданное значение c? Другими словами, я хотел бы выбрать все тесты, которые относятся к конкретному c DUT SerialNumber (конкретный c первичный ключ в DUT таблице), только если хотя бы один тест назван "AB". C "и результатом будет" 123 ".

Большое спасибо!

1 Ответ

1 голос
/ 09 июля 2020

сначала вам нужно объединить две таблицы на основе UUTid, затем вы поместите свои условия в предложение WHERE.

чтобы использовать более одного условия, вы можете использовать AND, OR.

И для того, чтобы оба условия стали ИСТИННЫМИ, а ИЛИ, чтобы одно условие стало ИСТИННЫМ

select * from DUT a 
inner join TestResults
On a.UUTid = b.UUTid
where a.SerialNumber = 'XXXX' and b.TestName = 'ABC' and b.TestResult = '123'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...