0
多列,請看看下面的SQL查詢:另一個子查詢使用從子查詢的列和選擇子查詢
我想存儲在@startlog
列值log_LogId
(6號線),這樣我可以稍後在第15行使用它。還是有任何其他方式來實現這一目標?
我不能寫在一行6 @log_LogId = log_LogId
它顯示語法錯誤。
另一個問題是,我怎麼能在第一子查詢中選擇多個列?也許喜歡 (SELECT TOP 1 log_LogId, log_Cost .....
?
在此先感謝。
DECLARE @startlog INT
SELECT
log_VehicleId AS gpsId,
log_LogId AS ignOnLogId,
(SELECT TOP 1
log_LogId ---Set this value to @startlog so that I can use this in "HERE"
--- Also Select another column here
FROM VehicleLog
WHERE log_Eventid = 6012 AND log_LogId > v2.log_LogId
AND log_VehicleId = v2.log_VehicleId
) ignOffLogId,
(SELECT SUM(CAST(log_COG AS FLOAT))
FROM VehicleLog
WHERE log_LogId >= v2.log_LogId
AND log_LogId <= @startlog ---**HERE**
)
from VehicleLog v2
WHERE log_Eventid = 6011 AND log_LogId < 300
嗨,它顯示錯誤:'消息207,級別16,狀態1,行32 無效的列名稱log_VehicleId 」。 消息207,級別16,狀態1,行31 無效的列名稱log_LogId'.'雖然在數據庫 – sha256 2013-04-23 21:52:24
@ sha404對不起存在的專欄中,我我們它在firts更名爲其它列CTE,因此它可以在第二個引用第一個的地方找不到它。請參閱上面的更新回答。 – Charl 2013-04-24 07:13:43
嘿,感謝您的答覆,但仍然得到錯誤:'消息8155,級別16,狀態2,第35行 沒有列名的CTE_COG'.' – sha256 2013-04-24 12:44:19