问题
Why sql bellow don't work?
select
a.field1, a.field2, a.field3,
(select count(*)
from table2 b
where b.field1 = a.field1
) as field4,
(select count(*)
from table3 b
where b.field1 = a.field1
) as field5,
(select count(*)
from table4 b
where b.field1 = a.field1
) as field6,
from table1 a
order by field4
Oracle says: ORA-00904: "field4": invalid identifier
回答1:
try to wrap it up
select * from
(
select
a.field1, a.field2, a.field3,
(select count(*)
from table2 b
where b.field1 = a.field1
) as field4,
(select count(*)
from table3 b
where b.field1 = a.field1
) as field5,
(select count(*)
from table4 b
where b.field1 = a.field1
) as field6,
from table1 a
)
order by field4
来源:https://stackoverflow.com/questions/7732019/invalid-identifier-error-on-field-created-with-select-statement