Мне нужно найти недостающие строки, однако мне нужны данные из BOTH таблиц, которые будут возвращены. Я проверил Google, но не нашел аналогичного вопроса.SQL Server: поиск строк строк в таблице 1 не в таблице2, но нужны данные из таблиц
TableA
thetime real-time
1 1 pm
2 5 pm
3 7 pm
4 9 pm
5 11 pm
Table2
thedate transaction_num thetime
1/1/2000 111 1
1/1/2000 111 4
1/1/2000 111 5
2/1/2000 111 2
2/1/2000 111 4
2/1/2000 222 1
2/1/2000 222 5
нужно выбрать дату и transaction_num из Table2, которые не имеют времени в Table1, так что результат от оператора выбора должен иметь дату и trnsaction число пропавших без вести время не в table2:
thedate transaction_num thetime
1/1/2000 111 2
1/1/2000 111 3
2/1/2000 111 1
2/1/2000 111 3
2/1/2000 111 5
2/1/2000 222 2
2/1/2000 222 3
2/1/2000 222 4
Это код, который я имею, но он дает мне ошибку связывания нескольких частей:
select t2.thedate, t2.transaction_num, t1.thetime
from table2 t2
where not exists(select t1.thetime
from table1 t1
where t2.thetime = t1.thetime)
кто-нибудь знает, как решить эту проблему, или может указывать мне ответ? Большинство вопросов при переполнении стека для отсутствующих строк связаны с возвратом данных из одной таблицы, но мне нужно это для двух таблиц.
Спасибо
Если вы явно для проверки строк в t2, где 'thetime' не найденные в t1, что вы ожидаете' t1.thetime' быть в вашем выборе пункта? –
Я не уверен, что понимаю. 'thetime' 2, 3 и 1 (из ваших ожидаемых результатов) отображаются в примере, который вы указали из таблицы« A ». Вы можете объяснить? –
Если вы присоединяетесь к 't2.thetime = t1.thetime', то почему бы вам просто не использовать' t2.thetime' в своем заявлении select? – sgmoore