2011-10-01 47 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底部的更新。 –