February 13, 2009 at 11:16 am
here please refer the table:
in that table value:
1 is Order No
ABCL is Client Name
12/1/2009 12:00:00 AM is OrderDate
ARMIS - is Product
1000 is Value
1 is InvoiceQuantity
1 is Pendingquantity
1ABCL12/1/2009 12:00:00 AMARMIS1000011
1HAL12/1/2009 12:00:00 AMARMIS200022
1NAL12/1/2009 12:00:00 AMTimeCheck2000022
2HidusthanLeaver12/1/2009 12:00:00 AMARMIS200022
2IOC12/1/2009 12:00:00 AMTimeCheck3000022
3BEML12/1/2009 12:00:00 AMARMIS40000022
3ABCL12/1/2009 12:00:00 AMTimeCheck50000033
I am using the following Groupby Query
select OrderFormNo,ClientName,OrderDate,Product,sum(Value),
InvoiceQuantity,PendingQuantity from AOM_Tbl_PendingOrders group by OrderFormNo, ClientName,OrderDate
I have got the erreor below
Msg 8120, Level 16, State 1, Line 1
Column 'AOM_Tbl_PendingOrders.Product' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Msg 8120, Level 16, State 1, Line 1
Column 'AOM_Tbl_PendingOrders.InvoiceQuantity' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Msg 8120, Level 16, State 1, Line 1
Column 'AOM_Tbl_PendingOrders.PendingQuantity' is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
Can any one solve this issue.
February 13, 2009 at 11:25 am
These error messages are pretty clear.
Read the error messages then look at your query.
February 13, 2009 at 11:48 am
suresh,
Try this: -
select OrderFormNo
,ClientName
,OrderDate
,Product
,sum(Value)
,InvoiceQuantity
,PendingQuantity
from AOM_Tbl_PendingOrders
group by OrderFormNo, ClientName,OrderDate,Product,InvoiceQuantity,PendingQuantity
In your case, remember that whenever you use the group by clause you need to add all the other colums as well except the function column (i.e. sum)
February 13, 2009 at 1:00 pm
What every one else said, and also ...
Why are you even trying to use a SUM ... when you're only looking at one row?
July 24, 2010 at 9:42 am
Hi,
instead using all the columns in the group by clause, you can use aggregate function "OVER BY " in the query............
OR
give me the details of the output what u want.....
July 25, 2010 at 12:14 am
In group by clause, you should include all the columns present in the select list that are not aggregated.
So, in this example include all the columns in the group by clause except Sum(Value).
August 4, 2010 at 2:36 am
There is no sense the query you asked for, but it is possible to retrieve the info you need, just
build your query like the below one:
SELECT OrderFormNo
,ClientName
,OrderDate
,Product
,sum(Value)as Total
,InvoiceQuantity
,PendingQuantity
FROM AOM_Tbl_PendingOrders
GROUP BY OrderFormNo, ClientName,OrderDate, InvoiceQuantity, PendingQuantity, product
But remember there is no sense you get all the fields to sum. You must build a result set with some sense for example:
SELECT ClientName, OrderDate, Sum(value) as Total
FROM AOM_Tbl_PendingOrders
Group By ClientName, OrderDate
The above query is gathering All Orders made in a time stamp from customers and applying a sum on value field.
It has sense because you can count and know how much you have gain in that time for each Customer.
I know it is an old post, but I resolved to explain a little bit more why it had no sense like some folks were talking!
Regards
Best Regards,
Marcos Rosa / marcosfac@gmail.com
Viewing 7 posts - 1 through 6 (of 6 total)
You must be logged in to reply to this topic. Login to reply