Давайте представим, что у меня есть следующие таблицы:
Table: Jobs
JobID | Desc
1 | Desc1
2 | Desc2
3 | Desc3
Table: Docs
JobId | DocId | Filename
1 | 1 | File1
1 | 2 | File2
2 | 3 | File1
3 | 4 | File2
Теперь я хочу выбрать задания из таблицы Jobs
с ее desc
, которые имеют File1
и File2
в таблице документов, которая находится здесь JobId=1
. Как должен выглядеть мой оператор SQL?
ОБНОВЛЕНИЕ:
Я пробовал следующее:
Select *
from Jobs j
inner join Docs d
on j.JobId = d.jobId
where Filename = 'File1' and Filename='File2'
что не так. Он ничего не возвращает, потому что в Docs
нет записи, в которой есть File1
и File2
в поле.
Select *
from Jobs j
inner join Docs d
on j.JobId = d.jobId
where Filename = 'File1' or Filename='File2'
что не так. Возвращает задания 1
, 2
, 3
, поскольку они удовлетворяют этому критерию.
Что мне нужно:
Из таблицы Jobs
:
1 | Desc1
, потому что у него есть запись в таблице Docs
, содержащая File1
, а другая содержит File2
.