关于group by的问题
不净之心 2009-11-25 02:27:01 一个必须注意的地方是:SELECT 列表中指定的每一列也必须出现在 GROUP BY 子句中,除非这列是聚合函数列。
-----------------------------------
select a.NEW_RO_SO_CASE,
'' as testcol,
count(*)
from vedvr_master a,ve_issue_letter b,ve_letter_dvr c where a.dvr_id = c.dvr_id and c.letter_id = b.letter_id
group by a.NEW_RO_SO_CASE,b.LETTER_TYPE_CODE
运行没问题 而
select PARENT_DVR_ID,
(select ENG_DESC from VE_DEFECT_GROUP where DEFECT_GROUP_CODE = a.DEFECT_GROUP_CODE1) as DEFECT_GROUP_DESC,
count(*)
from vedvr_master a group by PARENT_DVR_ID,DEFECT_GROUP_DESC
------------------ 却有问题呢?
我的疑问是:
第一句:b.LETTER_TYPE_CODE没有出现在select的列表中,却能运行。同时,testcol可有可无 一样能运行
第二句:DEFECT_GROUP_DESC出现在select列表中 为什么又运行不了?
我想是不是一定是出现在from的tables的列表中才对啊?