我有一個雙cte運算式,第一個是join兩個表,第二個是實作一個partition by函式:
with cte as (
select *
from memuat.product p
join memuat.licence l on p.id = l.product_id
where l.managed = 'TRUE'
),
joined as (
select
*,
row_number() over (partition by id order by id) as rn
from cte
)
select * from joined;
我收到以下錯誤:
ORA-00923: FROM keyword not found where expected, ERROR at the line 12. 我無法弄清楚我的查詢中哪個語法錯誤是錯誤的。
uj5u.com熱心網友回復:
甲骨文在SELECT *. SELECT *意思是“選擇一切”,那么你怎么可能添加一些東西呢?在 Oracle 中你不能SELECT *, 1 AS something_else FROM some_table。你必須有SELECT some_table.*, 1 AS something_else FROM some_table,所以你不再選擇“一切”,而是“桌子上的一切”:-)
你有
select
*,
row_number() over (partition by id order by id) as rn
from cte
肯定是
select
cte.*,
row_number() over (partition by id order by id) as rn
from cte
反而。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/534440.html
標籤:数据库甲骨文
