0
有什麼錯我的如下聲明:Oracle的SQL相關子查詢不起作用
UPDATE TableToUpdate SET ColumnToUpdate = (
SELECT ColumnWithNewValues
FROM (
SELECT ColumnWithNewValues, ROWNUM AS N
FROM Table1 t1, Table2 t2 -- join tables
WHERE t2.Schluessel = t1.Schluessel -- join condition
AND t1.DateFrom <= TableToUpdate.Date -- <==== Error, reference to TableToUpdate
AND t1.DatumTo >= TableToUpdate.Date
-- ... some other conditions, not important here ...
) tmp
WHERE tmp.N = 5 -- Use the fifth row to update the row of TableToUpdate
)
在此執行,我會從Oracle得到一個錯誤:
ORA-00904: "TableToUpdate"."Date": Ungültiger Bezeichner
在英文我認爲這將意味着:
ORA-00904: "TableToUpdate"."Date": Invalid identifier
所以看來我不能引用TableToUpdate從一個相關的subquer y在SELECT語句中。在MSSQL下這個工作,當然用 代替oracle特定的ROWNUM當然是一個等價的技術。
有人可以幫助我嗎?