У меня есть запрос (приложить из хранимой процедуры), которая выглядит примерно так:SQL запросов присоединиться к условиям
SELECT S.name
INTO #TempA
from tbl_Student S
INNER JOIN tbl_StudentHSHistory TSHSH on TSHSH.STUD_PK=S.STUD_PK
INNER JOIN tbl_CODETAILS C
on C.CODE_DETL_PK=S.GID
WHERE TSHSH.Begin_date < @BegDate
Вот вопрос, то второе внутреннее соединение и соответствующее где утверждение должно произойти только тогда, когда только определенная переменная (@UseArchive
) истинна, я не хочу, чтобы это произошло, если она ложна. Кроме того, в TSHSH
некоторые строки могут не иметь соответствующих записей в S
. Я попытался разделить его на 2 отдельных запроса на основе @UseArchive
, но студия отказывается компилировать это из-за заявления INTO #TempA
, в котором говорится, что в базе уже есть объект с именем #TempA
. Может ли кто-нибудь сказать мне способ исправить запрос или способ разделить запросы с оператором INTO #TempA
?
Этот запрос не является синтаксически правильным. Предложение 'INTO' должно появиться перед предложением' FROM'. Не могли бы вы исправить это? – ErikE
Почему бы не разделить запрос (как вы писали) и сделать второй запрос 'INSERT INTO #TEMPA SELECT S.name from ....'? – shahkalpesh