2014-12-03 48 views
-1

我正在处理库存系统项目,我需要问一件事情,我如何摆脱这个问题,我写一个SQL查询,如下所示:列'ITEM_DETAILS.VENDOR_NAME'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中

Select 
ITEM_DETAILS.VENDOR_NAME, 
LEDGER.VENDOR_NAME, 
ITEM_DETAILS.AMOUNT, 
LEDGER.CREDIT, 
(Sum(ITEM_DETAILS.AMOUNT)-LEDGER.CREDIT) 
as Balance From ITEM_DETAILS 
inner join LEDGER on ITEM_DETAILS.VENDOR_NAME=LEDGER.VENDOR_NAME 
where LEDGER.VENDOR_NAME='memon' 
Group by ITEM_DETAILS.VENDOR_NAME 

但是,当我试图运行这个它给了我以下错误:

Column 'ITEM_DETAILS.VENDOR_NAME' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause. 

任何帮助将是非常可观。

回答

1

试试这个:

您需要同时使用聚合函数添加列(比其他聚合函数)

Select 
ITEM_DETAILS.VENDOR_NAME, 
LEDGER.VENDOR_NAME, 
ITEM_DETAILS.AMOUNT, 
LEDGER.CREDIT, 
(Sum(ITEM_DETAILS.AMOUNT)-LEDGER.CREDIT) 
as Balance From ITEM_DETAILS 
inner join LEDGER on ITEM_DETAILS.VENDOR_NAME=LEDGER.VENDOR_NAME 
where LEDGER.VENDOR_NAME='memon' 
Group by ITEM_DETAILS.VENDOR_NAME, 
LEDGER.VENDOR_NAME, 
ITEM_DETAILS.AMOUNT, 
LEDGER.CREDIT, 
相关问题