我有這個疑問:情況 - 查詢優化
INSERT INTO #t1 (VALUE1, VALUE2)
SELECT
CASE
WHEN EXISTS(SELECT * FROM T2)
THEN SELECT VALUE1, VALUE2 FROM T2
END
這是不行的,我得到:「INSERT語句的選擇列表包含多於插入列表中的項目較少SELECT值的數目必須匹配。 INSERT列的數量。「
相反,我必須使用:
INSERT INTO #t1 (VALUE1, VALUE2)
SELECT
CASE
WHEN EXISTS(SELECT * FROM T2)
THEN SELECT VALUE1 FROM T2
END
CASE
WHEN EXISTS(SELECT * FROM T2)
THEN SELECT VALUE2 FROM T2
END
但是這會降低性能。有沒有適當的解決方案?在一個CASE中,從第二個表t2的sinqle查詢中受益。
您的查詢似乎沒有意義( 'select * from T2'?)。你能用文字來解釋嗎,一個假的但可以理解的結構,你想達到什麼目的? –