Я хотел бы узнать наиболее эффективный способ выполнения нижеследующего запроса. У меня есть 2 таблицы:SQL Efficiency Query
CREATE TABLE Table1 (
Table1Id INT NOT NULL PRIMARY KEY
);
go
CREATE TABLE Table2 (
Table2Id INT NOT NULL PRIMARY KEY,
EndDate DATE NULL,
Table1Id INT NOT NULL
);
go
Я хотел бы знать все Table1IDs, которые не в таблице 2, или если они находятся в таблице 2, они должны иметь EndDate до текущей даты.
Я знаю, что могу поступить правильно, но не уверен, как решить задачу EndDate. Любая помощь будет принята с благодарностью. Спасибо.
Это добавило бы большую ценность вашему вопросу, если бы вы предоставили некоторые данные из трех таблиц и ожидаемый результат. –
Таблица 1 Записи: 1; 2; 3; 4; 5; Таблица 2 Записи: 1,11012015,1; 2,12112015,2; 3 ,, 1; 4, 12312015, 4; Запрос должен возвращать следующие идентификаторы таблицы 1: 2, 3, 5. Надеюсь, это поможет. Спасибо. – user2511772
Вы должны помнить, что самый эффективный TSQL-запрос будет неэффективным, если у вас не будет индекса, разбиения на разделы, сжатия и т. Д. Конечно, это зависит от размера таблицы, но не прощайте об этом. – sdrzymala