举例如下:
select t.purchasecode,
t.a
from (
SELECT coun.purchasecode,
coun.scandate,
count(*) a
FROM APP_COUNTERFOIL COUN
group by COUN.PURCHASECODE
)
这种情况是对的,但是
coun.scandate,
count(*) a
FROM APP_COUNTERFOIL COUN
group by COUN.PURCHASECODE
这种情况是错的,为什么?
子查询 selset
select t.purchasecode,
t.a
from (
SELECT coun.purchasecode,
coun.scandate,
count(*) a
FROM APP_COUNTERFOIL COUN
group by COUN.PURCHASECODE
)
这种情况是对的,但是
coun.scandate,
count(*) a
FROM APP_COUNTERFOIL COUN
group by COUN.PURCHASECODE
这种情况是错的,为什么?
子查询 selset
coun.scandate,
count(*) a
FROM APP_COUNTERFOIL COUN
group by COUN.PURCHASECODE 这个貌似也不对哦
select 后面取的字段必须要在group by字段后面有才行,除了使用聚合函数的
select coun.PURCHASECODE,
count(*) a
FROM APP_COUNTERFOIL COUN
group by COUN.PURCHASECODE
我想和知道为什么第一个执行成功了。大家可以去试试
但是第二个group by PURCHASECODE,而查询的是scandate。
果真这样啊
这个会不会是因为你外层查询就没有用到scandate,所以子查询中的scandate字段orcle自动忽略了;
你试试单独执行子查询看他会不会报错
果真这样啊
这个会不会是因为你外层查询就没有用到scandate,所以子查询中的scandate字段orcle自动忽略了;
你试试单独执行子查询看他会不会报错单会报错,我想知道是什么原因,oracle的解析问题还是别的什么