错误 ORA-00923
error ORA-00923
我在执行查询时遇到以下错误 "ORA-00923: FROM keyword not found where expected",注意:我已经在使用不同表的查询及其工作,所以我需要你的帮助:)
LOAD * ,
date(POST_DATE,'MM/DD/YYYY') as VOU_POST_DATE,
date(CREATED_DATE,'MM/DD/YYYY') as VOU_CREATED_DATE,
year (POST_DATE) as VOU_POST_YEAR ,
month (POST_DATE) as VOU_POST_MONTH,
day (POST_DATE) as VOU_POST_DAY,
year (CREATED_DATE) as VOU_CREATED_YEAR ,
month (CREATED_DATE) as VOU_CREATED_MONTH,
day (CREATED_DATE) as VOU_CREATED_DAY;
Select
t.QTY as VOU_QTY,
t.COST as VOU_COST,
t.PRICE as VOU_PRICE,
t.QTY*t.COST as VOU_EXT_COST,
t.QTY*t.PRICE as VOU_EXT_PRICE,
t.ITEM_SID,
o.STORE_NO as VOU_STORE_NO,
o.VOU_NO,
o.VOU_TYPE,
o.VOU_CLASS,
o.VEND_CODE as VOU_VEND_CODE,
o.SLIP_FLAG,
o.TO_NO,
o.REF_VOU_SID,
o.CREATED_DATE,
o.POST_DATE,
o.SLIP_FLAG as SLIP_FLAGS,
o.VERIFIED,
st.QTY as TRANS_OUT_QTY
s.OUT_STORE_NO as SLIP_OUT_STORE,
s.IN_STORE_NO as SLIP_IN_STORE,
CASE
when o.VEND_CODE is not NULL
and o.TO_NO is NULL
then t.QTY
else 0
end CMP_RCVD_QTY,
CASE
when o.VEND_CODE is NULL
and o.TO_NO is not NULL
then t.QTY
else 0
end FST_RCVD_QTY,
CASE
when o.VEND_CODE is NULL
and o.TO_NO is NULL
then t.QTY
else 0
end TRANS_IN_QTY,
CASE
when o.VOU_CLASS=2
then t.QTY
else 0
end ASN_QTY,
from VOUCHER o
join VOU_ITEM t
on o.VOU_SID = t.VOU_SID
Join SLIP s
on s.VOU_SID = o.VOU_SID
join SLIP_ITEM st
on st.ITEM_SID = t.ITEM_SID
where
o.HELD=0 and o.REF_VOU_SID is NULL;
在TRANS_OUT_QTY
之后添加,
o.VERIFIED,
st.QTY as TRANS_OUT_QTY
s.OUT_STORE_NO as SLIP_OUT_STORE,
并删除 from 子句之前的 ,
。
CASE
when o.VOU_CLASS=2
then t.QTY
else 0
end ASN_QTY,
from VOUCHER o
join VOU_ITEM t
on o.VOU_SID = t.VOU_SID
Oracle 需要 FROM
关键字来结束我们的逗号分隔列列表。如您所见,您忘记在 st.QTY as TRANS_OUT_QTY
之后键入 ,
,它期望 FROM
子句紧跟在它之后,因此出现错误 ORA-00923: FROM keyword not found where expected
。
修复第一个语法错误后,您将遇到另一个名为 ORA-00936: missing expression
的错误,因为您在 end ASN_QTY,
之后提供了额外的 ,
,这表明 end ASN_QTY,
之后还有更多表达式=12=] 但没有。
我在执行查询时遇到以下错误 "ORA-00923: FROM keyword not found where expected",注意:我已经在使用不同表的查询及其工作,所以我需要你的帮助:)
LOAD * ,
date(POST_DATE,'MM/DD/YYYY') as VOU_POST_DATE,
date(CREATED_DATE,'MM/DD/YYYY') as VOU_CREATED_DATE,
year (POST_DATE) as VOU_POST_YEAR ,
month (POST_DATE) as VOU_POST_MONTH,
day (POST_DATE) as VOU_POST_DAY,
year (CREATED_DATE) as VOU_CREATED_YEAR ,
month (CREATED_DATE) as VOU_CREATED_MONTH,
day (CREATED_DATE) as VOU_CREATED_DAY;
Select
t.QTY as VOU_QTY,
t.COST as VOU_COST,
t.PRICE as VOU_PRICE,
t.QTY*t.COST as VOU_EXT_COST,
t.QTY*t.PRICE as VOU_EXT_PRICE,
t.ITEM_SID,
o.STORE_NO as VOU_STORE_NO,
o.VOU_NO,
o.VOU_TYPE,
o.VOU_CLASS,
o.VEND_CODE as VOU_VEND_CODE,
o.SLIP_FLAG,
o.TO_NO,
o.REF_VOU_SID,
o.CREATED_DATE,
o.POST_DATE,
o.SLIP_FLAG as SLIP_FLAGS,
o.VERIFIED,
st.QTY as TRANS_OUT_QTY
s.OUT_STORE_NO as SLIP_OUT_STORE,
s.IN_STORE_NO as SLIP_IN_STORE,
CASE
when o.VEND_CODE is not NULL
and o.TO_NO is NULL
then t.QTY
else 0
end CMP_RCVD_QTY,
CASE
when o.VEND_CODE is NULL
and o.TO_NO is not NULL
then t.QTY
else 0
end FST_RCVD_QTY,
CASE
when o.VEND_CODE is NULL
and o.TO_NO is NULL
then t.QTY
else 0
end TRANS_IN_QTY,
CASE
when o.VOU_CLASS=2
then t.QTY
else 0
end ASN_QTY,
from VOUCHER o
join VOU_ITEM t
on o.VOU_SID = t.VOU_SID
Join SLIP s
on s.VOU_SID = o.VOU_SID
join SLIP_ITEM st
on st.ITEM_SID = t.ITEM_SID
where
o.HELD=0 and o.REF_VOU_SID is NULL;
在TRANS_OUT_QTY
,
o.VERIFIED, st.QTY as TRANS_OUT_QTY s.OUT_STORE_NO as SLIP_OUT_STORE,
并删除 from 子句之前的 ,
。
CASE when o.VOU_CLASS=2 then t.QTY else 0 end ASN_QTY, from VOUCHER o join VOU_ITEM t on o.VOU_SID = t.VOU_SID
Oracle 需要 FROM
关键字来结束我们的逗号分隔列列表。如您所见,您忘记在 st.QTY as TRANS_OUT_QTY
之后键入 ,
,它期望 FROM
子句紧跟在它之后,因此出现错误 ORA-00923: FROM keyword not found where expected
。
修复第一个语法错误后,您将遇到另一个名为 ORA-00936: missing expression
的错误,因为您在 end ASN_QTY,
之后提供了额外的 ,
,这表明 end ASN_QTY,
之后还有更多表达式=12=] 但没有。