2011-10-01 94 views
0

当我运行此查询我得到以下错误:COUNT导致DB2错误从PHP

Column MANUFACTURER or expression in SELECT list not valid. 

查询运行正常,如果我删除COUNT函数。

任何想法?

(这个查询是有点模仿的,因此可能并不完全合理)

SELECT 
    MANUFACTURER 
, PART_NUMBER 
, COUNT(1) AS CNT 
FROM 
(SELECT 
    AWPART AS PART_NUMBER 
    , MANF AS MANUFACTURER  
    FROM STKMP       
    INNER JOIN PRICING AS P   
     ON AWPART = P.JCPART 
     AND R.CODE = 1   
    WHERE PART_NUMBER LIKE '%A2%') AS T 

修改的最后一行如下产生同样的效果。

WHERE PART_NUMBER LIKE '%A2%') AS T GROUP BY MANUFACTURER    
+0

我只是有一些意见,因为它看起来像一个奇怪的查询。你只需要放弃'AS T',或者在FROM之后添加'TABLE',然后添加'T'。作为选择列表中的每个MANUFACTURER和PART_NUMBER的前缀?我无法访问DB2进行测试,但这些都是我的想法。 – memetech

回答

0

通常COUNT()仅在您有GROUP BY子句时才有意义。也许你的意思是把它添加到结束(在AS T后):

GROUP BY MANUFACTURER, PART_NUMBER; 
+0

请参阅OP底部的更新。 –