在我的表ALI_LEASE_IN
中,我有一个DEF14
字段,(抱歉红框,选择DEF16),您可以在我的快照中看到。
但是当我执行查询sql:
时select b.equip_name a2,b.model b3,b.def2 c4,b.def3 d5,
ALI_LEASE_IN.DEF14 as e6,
'' f7,
To_char(b.pre_rent) h9,
b.start_date k10,
sup.name j11,
org.name l12,
b.memo o13,
h.bill_date bdate,
h.pk_group
from ali_lease_in_b b,ali_lease_in h,bd_supplier sup,org_itemorg org
where b.pk_lease_in=h.pk_lease_in
and h.pk_supplier=sup.pk_supplier
and b.pk_org=org.pk_itemorg
但是我在下面收到了这个错误:
[SQL]select b.equip_name a2,b.model b3,b.def2 c4,b.def3 d5,
ALI_LEASE_IN.DEF14 as e6,
'' f7,
To_char(b.pre_rent) h9,b.start_date k10,sup.name j11,org.name l12, b.memo o13,h.bill_date bdate,h.pk_group
from ali_lease_in_b b,ali_lease_in h,bd_supplier sup,org_itemorg org
where b.pk_lease_in=h.pk_lease_in
and h.pk_supplier=sup.pk_supplier
and b.pk_org=org.pk_itemorg
--and h.pk_org in (parameter('param3'))
-- and substr(h.bill_date,1,10) >= parameter('param1')
-- and substr(h.bill_date,1,10) <= parameter('param2')
[Err] ORA-00904: "ALI_LEASE_IN"."DEF14": invalid identifier
我不知道为什么,我的快照显示DEF14在我的桌子上是exsits。
我的环境是:
数据库是Oracle, 视觉软件是navicat。
答案 0 :(得分:1)
我看到了你的代码:
from ali_lease_in_b b,ali_lease_in h,bd_supplier sup,org_itemorg org
这一行你得到表ali_lease_in
别名h
。
所以你应该使用别名,改变行:
ALI_LEASE_IN.DEF14 as e6,
到:
h.DEF14 as e6
答案 1 :(得分:1)
当您为DEF14提供了表别名时,您已经引用了ALI_LEASE_IN。将该列更改为h.DEF14 AS e6。
SELECT b.equip_name a2,
b.model b3,
b.def2 c4,
b.def3 d5,
h.DEF14 AS e6,
'' f7,
TO_CHAR (b.pre_rent) h9,
b.start_date k10,
sup.name j11,
org.name l12,
b.memo o13,
h.bill_date bdate,
h.pk_group
FROM ali_lease_in_b b,
ali_lease_in h,
bd_supplier sup,
org_itemorg org
WHERE b.pk_lease_in = h.pk_lease_in
AND h.pk_supplier = sup.pk_supplier
AND b.pk_org = org.pk_itemorg