2013-07-10 38 views
0

我試圖運行下面的查詢的一部分:一個SELECT失敗。 3504:選擇非集合值必須是關聯的組

SELECT vtiger_products.productcategory AS "Product Category", 
     SUM(vtiger_inventoryproductrel.quantity) AS "Line Item Qt" 
    FROM bi_batch.vtiger_inventoryproductrel 
     INNER JOIN bi_batch.vtiger_products 
     ON vtiger_inventoryproductrel.productid 

回答

0

看起來像你需要一個group by子句,你不必爲你的非聚集列。嘗試添加「由vtiger_products.productcategory組」

+0

明白了,我必須添加GROUP BY 1或GROUP BY vtiger_products.productcategory或GROUP BY「Product Category」。謝謝! – ptomar

+0

但這是否意味着我必須將所有選擇列放在分組依據中? 我正在將一個mysql轉換爲teradata sql,在這個查詢中Select選擇調用20列,但Group只有2列(其中1個不在select中調用)。我雖然SQL基礎知識在兩個相同。 – ptomar

+0

Teradata作爲一個「真正的」數據庫,有更多的正式要求。 MySQL有很多非標準擴展,這是其中之一。在「純」SQL中,您必須由所有非聚合列「分組」。我建議去Teradata網站;下載並閱讀您的版本的SQL手冊。 – BellevueBob

相關問題