日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle中defined,Oracle:专栏定义(Oracle: column ambigously defined)

發(fā)布時(shí)間:2023/12/20 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle中defined,Oracle:专栏定义(Oracle: column ambigously defined) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Oracle:專欄定義(Oracle: column ambigously defined)

我收到以下錯(cuò)誤。 據(jù)我所知,所有列都是由表名定義的,所以我不明白為什么我從Oracle數(shù)據(jù)庫(kù)中得到這個(gè)錯(cuò)誤。

OCIError: ORA-00918: column ambiguously defined: SELECT * FROM (

SELECT raw_sql_.*, rownum raw_rnum_

raw_sql_

WHERE rownum <= 25

)

WHERE raw_rnum_ > 0

I am getting the following error. As far as I can see are all columns defined by table name, so I do not see why I get this error from my Oracle database.

OCIError: ORA-00918: column ambiguously defined: SELECT * FROM (

SELECT raw_sql_.*, rownum raw_rnum_

raw_sql_

WHERE rownum <= 25

)

WHERE raw_rnum_ > 0

原文:https://stackoverflow.com/questions/35706662

更新時(shí)間:2020-08-26 18:08

最滿意答案

只有拋出紅旗的東西,

ORDER BY offsakid desc

您在select中將一個(gè)字段別名為該名稱:

OFFSAK.id offsakid,

但它可能是您的某個(gè)表上的實(shí)際字段名稱,您應(yīng)該按基礎(chǔ)字段排序 - 而不是別名。

Only thing that throws a red flag, the

ORDER BY offsakid desc

You alias one field to that name in your select:

OFFSAK.id offsakid,

But it could be an actual field name on one of your tables, and you should order by the underlying field - not the alias.

2016-02-29

相關(guān)問答

由于你沒有回答評(píng)論中的問題,我假設(shè)amount_paid列來自visitings表,因?yàn)閟tudent表看起來像維度表。 column ambiguity錯(cuò)誤是由兩個(gè)表中的st_id列引起的。 所以SQL不知道你指的是哪個(gè)表的st_id 。 嘗試這個(gè)。 select avg (v.visit_cost) as average_cost, s.st_fname, s.st_lname

from student s

inner join visitings v on s.st_id=v

...

您在第一個(gè)派生表SQL1選擇了兩次CLG_NUM和ENT_NUM FROM (

select DISTINCT

PRIMARY_MER_NUM ,

PRIMARY_EXT_MID ,

MER_DBA_NAM,

CLG_NUM, --1

ENT_NUM, --1

ENT_NAM,

MER_OPN_DTE,

MER_CLS_DTE,

MER_FST_DPST_DTE,

CLG_NUM, --2

ENT_NUM --2

from bi.t_mer_dim_na

這使得在外部選擇中選擇sql1

...

我認(rèn)為這是ANSI風(fēng)格連接的一個(gè)缺陷。 使用DBMS_XPLAN來查找舊數(shù)據(jù)庫(kù)中正在過濾哪個(gè)表。 或者更好的是,從業(yè)務(wù)邏輯中找出他們應(yīng)該查詢的內(nèi)容。 I think this was a bug with the ANSI style join. Use DBMS_XPLAN to find which table was being filtered in the old database. Or better still, work out from the business logic wh

...

正如評(píng)論的那樣,我認(rèn)為Hibernate將默認(rèn)為spatialDialect,它將是可用的第一個(gè),并且在那種情況下它是Oracle,盡管在persistence.xml中指定了什么。 我找到的第一個(gè)解決方法是在實(shí)體中注釋對(duì)于GeometryUserType我將使用Postgis方言,如: @TypeDefs({@TypeDef(name="org.hibernatespatial.GeometryUserType",

parameters={@org.hibernate.anno

...

雖然VARCHAR Infomix類型限制為255個(gè)字符,但我會(huì)使用LVARCHAR類型,限制為32,739字節(jié)。 第二個(gè)問題是(1024 char) ,這意味著Oracle可以保存1024個(gè)字符。 在像UTF-8這樣的編碼中,這不等于1024字節(jié)。 例如波蘭語字母:????要保存2個(gè)字節(jié),因此帶有1024個(gè)波蘭字母的文本將使用2048個(gè)字節(jié)。 Informix使用字節(jié)長(zhǎng)度,因此您必須知道您的編碼和數(shù)據(jù)。 對(duì)于UTF8編碼的波蘭語文本,我將varchar2(1024 char)轉(zhuǎn)換為lvarcha

...

我無法直接使用該功能。 解決方法是使用oracle命令: using (DealerContext objectContext = new DealerContext())

{

string connString = objectContext.Database.Connection.ConnectionString;

using (var conn = new OracleConnection(connString

...

只有拋出紅旗的東西, ORDER BY offsakid desc

您在select中將一個(gè)字段別名為該名稱: OFFSAK.id offsakid,

但它可能是您的某個(gè)表上的實(shí)際字段名稱,您應(yīng)該按基礎(chǔ)字段排序 - 而不是別名。 Only thing that throws a red flag, the ORDER BY offsakid desc

You alias one field to that name in your select: OFFSAK.id offsakid,

...

您無法插入集合 (例如PL / SQL表)。 您可以使用批量收集語法來填充集合: SELECT ColumnA, ColumnB

BULK COLLECT INTO tableVariableA

FROM physicalTable

WHERE [...];

但是,您可能希望檢查這是一種合適的方法,因?yàn)镾QL Server和Oracle有很大不同。 你不能在普通的SQL中使用PL / SQL表( 至少在12c之前 ),甚至在你的程序中也是如此,所以你可能需要一個(gè)模式級(jí)別的類型而不是PL / SQ

...

正如您已經(jīng)發(fā)現(xiàn)的那樣, DATEPART是一個(gè)SQL Server功能,而不是Oracle功能。 您已經(jīng)顯示的替代方法to_number(to_char(v_ExpireTime, 'YY'))雖然會(huì)給你一個(gè)兩位數(shù)的值,所以如果你的約會(huì)的年份部分是1899 ,它將只返回99 ,所以你不會(huì)得到一個(gè)匹配。 您可以使用四位數(shù)年份日期格式Y(jié)YYY而不是YY 。 另一種選擇是使用提取功能 : IF extract(year from v_ExpireTime) = 1899 THEN ...

As you

...

如果您使用的是Oracle 11g2,unpivot和listagg的組合可以提供幫助,請(qǐng)嘗試此查詢 WITH T(ID, SLOW, MEDIUM, FAST, SUPER_FAST) AS

(SELECT 1, 'Y', 'Y', 'N', 'Y' FROM DUAL

UNION ALL

SELECT 2, 'N','Y','N', 'Y' FROM DUAL

union all

SELECT 3, 'N','N','N', 'Y' FROM

...

總結(jié)

以上是生活随笔為你收集整理的oracle中defined,Oracle:专栏定义(Oracle: column ambigously defined)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。