Я хочу объединить две таблицы на основе нескольких строк и не могу найти правильный способ сделать это.Таблица соответствия SQL SQL в нескольких строках
таблицы выглядит примерно так:
table1
Id Location LocationNo
1 1 1
1 2 2
1 3 3
2 1 1
2 2 2
3 2 1
3 1 2
3 3 3
4 1 1
4 2 2
4 3 3
4 4 4
table2
Location LocationNo
1 1
2 2
3 3
Я хочу, чтобы получить Id из table1, которые соответствуют точно строки в table2 , Я ожидаю, что возвращение должно быть Id 1.
Я пробовал запрос ниже, но результат не тот, который ожидался.
SELECT t.Id
FROM table1 t1
WHERE EXISTS (SELECT 1
FROM table2 t2
WHERE t1.LocationId = t2.LocationId
AND t1.LocationNo = t2.LocationNo)
Любые предложения? Благодарю.
EDIT: table2
Location LocationNo
1 1
2 2
3 3
5 4
В этом случае я ожидаю, что результат должен быть нулевым
первый cte также не должен быть сгруппирован по Id?
Также псевдоним a должен t1.
–
@CodrutMerlusca - да пропустил его, Обновлено –
@ Y.B. Вы прочитали это * Я ожидаю, что возвращение должно быть Id 1. * Будет ли ваш запрос возвращаться только Id '1' –