Below is an sql statement and an error I’m receiving. I have included all the possible fields from both tables, what is wrong? I want to group all returned items by the prodID
Column ‘orders.adminStatus’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause
SELECT TOP 20
ADMINSTATUS, CURRENCY, CUSTOMERID, CUSTOMERMESSAGE, DELTIME, DELTOTAL, DISCOUNT, DISCOUNTCODE,
IP, ITEMDES, OPTIONS, ORDEREDID, ORDERTOTAL,
oi.ORDER_ID, o.ORDER_ID, PAYMENTTYPE, PPRICE, PRODID, QTY, REASON, SECURITYKEY, SHIPADDRESS1,
SHIPADDRESS2, SHIPADDRESS3, SHIPCITY, SHIPCOMPANY,
SHIPCOUNTRY, SHIPCOUNTY, SHIPMETHOD,
SHIPNAME, SHIPPOSTCODE, STATUS, STOCKCODE, SUBTOTAL, TAX, TAXABLE, TIMEDATE, TXAUTHNO, VENDORTXCODE, VPSTXID
FROM orderedItems oi
left join orders o on oi.order_id = o.order_id
Group by PRODID
If you are selecting separate columns, they ALL need to appear in the GROUP BY clause unless they are aggregate functions.
See here: http://msdn.microsoft.com/en-us/library/ms177673.aspx
e.g.