我有一個查詢(從存儲過程中發揮),看起來是這樣的: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
這裏是問題,第二個內部連接和相應的WHERE語句應該只如果只是發生某些變量(@UseArchive
)是真的,我不希望它發生,如果它是假的。另外,在TSHSH
中,某些行可能在S
中沒有對應的條目。我試圖根據@UseArchive
將它分成兩個單獨的查詢,但錄音室拒絕編譯,因爲INTO #TempA
聲明說數據庫中已經有一個名爲#TempA
的對象。任何人都可以告訴我一種方法來修復查詢或用INTO #TempA
聲明拆分查詢的方法嗎?
這個查詢在語法上是不正確的。 'INTO'子句必須位於'FROM'子句之前。你能糾正這個嗎? – ErikE 2013-04-30 20:25:08
爲什麼不拆分查詢(就像你寫的)並且使第二個查詢'INSERT INTO #TempA SELECT ....name from ....'? – shahkalpesh 2013-04-30 20:27:13