Possible Duplicate:
Sql Query throwing error
I am trying a query for retrieving records according to divisions and display according to months and i have to sum up the salary allowance month wise, nd also show them month wise.
Here’s the query im trying :-
select
pmc.[month] as 'Month',
pmc.pd_name_of_project as 'Name of Project',
tbl_div.name AS 'Name of Advisory Services Division',
TBL_PMC_UNIT.UNIT_NAME AS 'Name of Unit',
pmc.pd_project_type as 'Project Type',
pmc.accepted_tender_cost as 'Accepted Tender Cost',
pmc.work_order_date as 'Work Order Date',
pmc.tender_period_months as 'Tender Period',
pmc.project_completion_date as 'Project Completion Date',
pmc.per_pmc_charges as '% Of PMC Charges',
pmc.total_pmc_charges_scheme as 'Total PMC amount of the Scheme',
pmc.bill_amount_certified_upto_previous_month as 'Bill amount certified upto previous Month',
pmc.total_PMC_charges_upto_previous_month as 'Total PMC charges upto previous Month',
pmc.receipt_PMC_charges_upto_previous_month as 'Receipt of PMC Charges upto previous Month',
pmc.balance_of_PMC_charges_upto_previous_month as 'Balance of PMC charges upto previous Month',
pmc.bill_amount_certified_current_month as 'Bill amount certified During Current Month',
pmc.PMC_charges_for_current_month as ' PMC charges During Current Month',
pmc.receipt_PMC_charges_current_month as 'Receipt of PMC Charges During Current Monthh',
pmc.balance_of_PMC_charges_current_month as 'Balance of PMC charges During Current Month',
SUM(pmc.salary_allowance) as 'Salary & Allowance Division'
FROM
TBL_PMC pmc
INNER JOIN TBL_DIV
ON TBL_DIV.ID = pmc.DIV_ID
LEFT OUTER JOIN TBL_PMC_UNIT
ON TBL_PMC_UNIT.ID=pmc.UNIT_ID
WHERE
pmc.div_id= 17
--and pmc.unit_id=@unit_id;
group by
pmc.[month]
Im having the following error :-
Column ‘TBL_PMC.pd_name_of_project’ is invalid in the select list because it is not contained in either an aggregate function or the GROUP BY clause.
I dont want to use aggregate functions on all columns….just a few columns i have to sum up!!
With the GROUP statement you can use columns in the
SELECTwhich are contained in the GROUP BY or has an aggregate function. – as the error message said.You can try to use the
SUM...OVER (PARTITION BY ...)clause in this case. Check MSDN.So delete the Group By line and change your sum like this: