Quantcast
Channel: Forum Getting started with SQL Server
Viewing all articles
Browse latest Browse all 7129

Adding a second sum to my query

$
0
0

Hi,

I wrote this query:

SELECT	a.REFERENCEID AS [Reference ID],
		CASE a.AG_CUSTOMERSTYLE WHEN '0' THEN 'None' WHEN '1' THEN 'Rustic' WHEN '2' THEN 'Contemporary' WHEN '3' THEN 'Not Specific' END AS [Customer Style],
		CASE a.AG_HEARDABOUT WHEN '0' THEN 'None' WHEN '1' THEN 'Promotion' WHEN '2' THEN 'Social' WHEN '3' THEN 'Radio' WHEN '4' THEN 'TV' WHEN '5' THEN 'Newspaper' WHEN '6' THEN 'Referral' END AS [Heard About],
		CASE a.AG_HOUSEHOLD  WHEN '0' THEN 'None' WHEN '1' THEN 'Single' WHEN '2' THEN 'Couple' WHEN '3' THEN 'Family' WHEN '4' THEN 'Retired' END AS [Household],
		CASE a.AG_LANDSCAPEDESIGN  WHEN '0' THEN 'Enquiry' WHEN '1' THEN 'Consultation' WHEN '2' THEN 'Completed' END AS [Landscape Design],
		CASE a.AG_LANDSCAPEOPTIONS  WHEN '0' THEN 'None' WHEN '1' THEN 'InHouse' WHEN '2' THEN 'Ext1' WHEN '3' THEN 'Ext2' END AS [Landscape Options],
		CASE a.AG_ORLOSTREASON  WHEN '0' THEN 'Blank' WHEN '1' THEN 'Price' WHEN '2' THEN 'Service' WHEN '3' THEN 'Quality' WHEN '4' THEN 'Customer Credit Issue' WHEN '5' THEN 'AGP Credit Issue' WHEN '6' THEN 'Lead In Period' WHEN '7' THEN 'Assumed Lost' WHEN '8' THEN 'Contractor Not Quoted' WHEN '9' THEN 'Insitu' WHEN '10' THEN 'Metaldeck' WHEN '11' THEN 'Specification' WHEN '12' THEN 'Steel Stairs' WHEN '13' THEN 'Timber' WHEN '14' THEN 'Rigid Delivery' WHEN '15' THEN 'Frame Contractor Installing Stairs' WHEN '16' THEN 'Design Change' WHEN '17' THEN 'Unknown' END AS [Loss Reason],
		CASE a.AG_OUTSIDESTATUS WHEN '0' THEN 'Enquiry' WHEN '1' THEN 'Quote' WHEN '2' THEN 'Order' WHEN '3' THEN 'Lost' WHEN '4' THEN 'Duplicate' END AS [Outside Status],
		CASE a.AG_PROJECTTYPE WHEN '0' THEN 'None' WHEN '1' THEN 'New Build' WHEN '2' THEN 'Full Renovation' WHEN '3' THEN 'Garden Update' WHEN '4' THEN 'Driveway' WHEN '5' THEN 'Steps' WHEN '6' THEN 'Indoor' WHEN '7' THEN 'Third Property' END AS [Project Type],
		a.CUSTOMERNAME AS [Customer Name],
		a.LANDLINENUMBER AS [Landline],
		a.LAYER AS [Layer],
		CASE a.MARKETINGUSE WHEN '0' THEN 'No' WHEN '1' THEN 'Yes' END AS [Marketing Use],
		a.MOBILENUMBER AS [Mobile Number],
		a.NOTES AS [Notes],
		b.ADDRESS AS [Address],
		a.POSTCODE AS [Postcode],
		a.PRIMARYEMAIL AS [Email Address],
		a.PRODUCTGROUP AS [Product Group],
		a.SALESGROUP AS [Sales Group],
		d.FIRSTNAME + ' ' + d.LASTNAME AS [Sales Person],
		a.MODIFIEDDATETIME AS [Modified Date Time],
		a.MODIFIEDBY AS [Modified By],
		a.CREATEDDATETIME AS [Created Date Time],
		a.CREATEDBY AS [Created By],
		f.SALESID AS [Sales ID],
		SUM(g.LINEAMOUNT) AS [Sales Amount],
		g.CURRENCYCODE AS [Currency]
FROM AG_OutsideRooms a
INNER JOIN LOGISTICSPOSTALADDRESS  b ON a.ADDRESSRECID = b.RECID
INNER JOIN HCMWORKER c ON a.WORKERSALESTAKER = c.RECID
INNER JOIN DIRPERSONNAME d on c.PERSON = d.PERSON
LEFT OUTER JOIN SALESTABLE f ON a.RECID = f.OUTSIDEROOMRECID
LEFT OUTER JOIN SALESLINE g ON f.SALESID = g.SALESID
WHERE
f.DATAAREAID = 'agl'
AND g.DATAAREAID = 'agl'
AND f.SALESID = 'SOR-449545'
GROUP BY a.REFERENCEID, a.AG_CUSTOMERSTYLE, a.AG_HEARDABOUT, a.AG_HEARDABOUT, a.AG_HOUSEHOLD, a.AG_LANDSCAPEDESIGN, a.AG_LANDSCAPEOPTIONS, a.AG_ORLOSTREASON, a.AG_OUTSIDESTATUS,
a.AG_PROJECTTYPE, a.CUSTOMERNAME, a.LANDLINENUMBER, a.LAYER, a.MARKETINGUSE, a.MOBILENUMBER, a.NOTES, b.ADDRESS, a.POSTCODE, a.PRIMARYEMAIL, a.PRODUCTGROUP, a.SALESGROUP, d.FIRSTNAME + ' ' + d.LASTNAME,
a.MODIFIEDDATETIME, a.MODIFIEDBY, a.CREATEDDATETIME, a.CREATEDBY, f.SALESID, g.CURRENCYCODE
ORDER BY a.REFERENCEID

It returns the following:

Reference ID	Customer Style	Heard About	Household	Landscape Design	Landscape Options	Loss Reason	Outside Status	Project Type	Customer Name	Landline	Layer	Marketing Use	Mobile Number	Notes	Address	Postcode	Email Address	Product Group	Sales Group	Sales Person	Modified Date Time	Modified By	Created Date Time	Created By	Sales ID	Sales Amount	Currency
OR-147585	None	None	None	Enquiry	None	Blank	Order	None	George Sharkey	02838368611		No		NULL	30 Turmoyra Court Lurgan CRAIGAVON Co. Armagh BT66 6SD	BT66 6SD			OR-DGN	Michelle Folliard	2016-05-04 13:07:53.000	mawhinn1	2016-04-18 10:49:20.000	folliard	SOR-449545	833.7200000000000000	GBP

I now want to edit it to something like this:

SELECT	a.REFERENCEID AS [Reference ID],
		CASE a.AG_CUSTOMERSTYLE WHEN '0' THEN 'None' WHEN '1' THEN 'Rustic' WHEN '2' THEN 'Contemporary' WHEN '3' THEN 'Not Specific' END AS [Customer Style],
		CASE a.AG_HEARDABOUT WHEN '0' THEN 'None' WHEN '1' THEN 'Promotion' WHEN '2' THEN 'Social' WHEN '3' THEN 'Radio' WHEN '4' THEN 'TV' WHEN '5' THEN 'Newspaper' WHEN '6' THEN 'Referral' END AS [Heard About],
		CASE a.AG_HOUSEHOLD  WHEN '0' THEN 'None' WHEN '1' THEN 'Single' WHEN '2' THEN 'Couple' WHEN '3' THEN 'Family' WHEN '4' THEN 'Retired' END AS [Household],
		CASE a.AG_LANDSCAPEDESIGN  WHEN '0' THEN 'Enquiry' WHEN '1' THEN 'Consultation' WHEN '2' THEN 'Completed' END AS [Landscape Design],
		CASE a.AG_LANDSCAPEOPTIONS  WHEN '0' THEN 'None' WHEN '1' THEN 'InHouse' WHEN '2' THEN 'Ext1' WHEN '3' THEN 'Ext2' END AS [Landscape Options],
		CASE a.AG_ORLOSTREASON  WHEN '0' THEN 'Blank' WHEN '1' THEN 'Price' WHEN '2' THEN 'Service' WHEN '3' THEN 'Quality' WHEN '4' THEN 'Customer Credit Issue' WHEN '5' THEN 'AGP Credit Issue' WHEN '6' THEN 'Lead In Period' WHEN '7' THEN 'Assumed Lost' WHEN '8' THEN 'Contractor Not Quoted' WHEN '9' THEN 'Insitu' WHEN '10' THEN 'Metaldeck' WHEN '11' THEN 'Specification' WHEN '12' THEN 'Steel Stairs' WHEN '13' THEN 'Timber' WHEN '14' THEN 'Rigid Delivery' WHEN '15' THEN 'Frame Contractor Installing Stairs' WHEN '16' THEN 'Design Change' WHEN '17' THEN 'Unknown' END AS [Loss Reason],
		CASE a.AG_OUTSIDESTATUS WHEN '0' THEN 'Enquiry' WHEN '1' THEN 'Quote' WHEN '2' THEN 'Order' WHEN '3' THEN 'Lost' WHEN '4' THEN 'Duplicate' END AS [Outside Status],
		CASE a.AG_PROJECTTYPE WHEN '0' THEN 'None' WHEN '1' THEN 'New Build' WHEN '2' THEN 'Full Renovation' WHEN '3' THEN 'Garden Update' WHEN '4' THEN 'Driveway' WHEN '5' THEN 'Steps' WHEN '6' THEN 'Indoor' WHEN '7' THEN 'Third Property' END AS [Project Type],
		a.CUSTOMERNAME AS [Customer Name],
		a.LANDLINENUMBER AS [Landline],
		a.LAYER AS [Layer],
		CASE a.MARKETINGUSE WHEN '0' THEN 'No' WHEN '1' THEN 'Yes' END AS [Marketing Use],
		a.MOBILENUMBER AS [Mobile Number],
		a.NOTES AS [Notes],
		b.ADDRESS AS [Address],
		a.POSTCODE AS [Postcode],
		a.PRIMARYEMAIL AS [Email Address],
		a.PRODUCTGROUP AS [Product Group],
		a.SALESGROUP AS [Sales Group],
		d.FIRSTNAME + ' ' + d.LASTNAME AS [Sales Person],
		a.MODIFIEDDATETIME AS [Modified Date Time],
		a.MODIFIEDBY AS [Modified By],
		a.CREATEDDATETIME AS [Created Date Time],
		a.CREATEDBY AS [Created By],
		f.SALESID AS [Sales ID],
		SUM(g.LINEAMOUNT) AS [Sales Amount],
		g.CURRENCYCODE AS [Currency],
		e.QUOTATIONID AS [Quote ID],
		SUM(h.LINEAMOUNT) AS [Quotation Amount]
FROM AG_OutsideRooms a
INNER JOIN LOGISTICSPOSTALADDRESS  b ON a.ADDRESSRECID = b.RECID
INNER JOIN HCMWORKER c ON a.WORKERSALESTAKER = c.RECID
INNER JOIN DIRPERSONNAME d on c.PERSON = d.PERSON
LEFT OUTER JOIN SALESTABLE f ON a.RECID = f.OUTSIDEROOMRECID
LEFT OUTER JOIN SALESLINE g ON f.SALESID = g.SALESID
LEFT OUTER JOIN SALESQUOTATIONTABLE e ON a.RECID = e.OUTSIDEROOMRECID AND f.QUOTATIONID = e.QUOTATIONID
LEFT OUTER JOIN SALESQUOTATIONLINE h ON e.QUOTATIONID = h.QUOTATIONID
WHERE
e.DATAAREAID = 'agl'
AND f.DATAAREAID = 'agl'
AND g.DATAAREAID = 'agl'
AND f.SALESID = 'SOR-449545'
AND h.DATAAREAID = 'agl'
GROUP BY a.REFERENCEID, a.AG_CUSTOMERSTYLE, a.AG_HEARDABOUT, a.AG_HEARDABOUT, a.AG_HOUSEHOLD, a.AG_LANDSCAPEDESIGN, a.AG_LANDSCAPEOPTIONS, a.AG_ORLOSTREASON, a.AG_OUTSIDESTATUS,
a.AG_PROJECTTYPE, a.CUSTOMERNAME, a.LANDLINENUMBER, a.LAYER, a.MARKETINGUSE, a.MOBILENUMBER, a.NOTES, b.ADDRESS, a.POSTCODE, a.PRIMARYEMAIL, a.PRODUCTGROUP, a.SALESGROUP, d.FIRSTNAME + ' ' + d.LASTNAME,
a.MODIFIEDDATETIME, a.MODIFIEDBY, a.CREATEDDATETIME, a.CREATEDBY, f.SALESID, g.CURRENCYCODE, e.QUOTATIONID, h.LINEAMOUNT
ORDER BY a.REFERENCEID

The only problem with this is that it returns 3 records for the salesquotation data instead of one summed record so I get the following:

Reference ID	Customer Style	Heard About	Household	Landscape Design	Landscape Options	Loss Reason	Outside Status	Project Type	Customer Name	Landline	Layer	Marketing Use	Mobile Number	Notes	Address	Postcode	Email Address	Product Group	Sales Group	Sales Person	Modified Date Time	Modified By	Created Date Time	Created By	Sales ID	Sales Amount	Currency	Quote ID	Quotation Amount
OR-147585	None	None	None	Enquiry	None	Blank	Order	None	George Sharkey	02838368611		No		NULL	30 Turmoyra Court Lurgan CRAIGAVON Co. Armagh BT66 6SD	BT66 6SD			OR-DGN	Michelle Folliard	2016-05-04 13:07:53.000	mawhinn1	2016-04-18 10:49:20.000	folliard	SOR-449545	833.7200000000000000	GBP	SLQ-058032	240.0000000000000000
OR-147585	None	None	None	Enquiry	None	Blank	Order	None	George Sharkey	02838368611		No		NULL	30 Turmoyra Court Lurgan CRAIGAVON Co. Armagh BT66 6SD	BT66 6SD			OR-DGN	Michelle Folliard	2016-05-04 13:07:53.000	mawhinn1	2016-04-18 10:49:20.000	folliard	SOR-449545	833.7200000000000000	GBP	SLQ-058032	392.7000000000000000
OR-147585	None	None	None	Enquiry	None	Blank	Order	None	George Sharkey	02838368611		No		NULL	30 Turmoyra Court Lurgan CRAIGAVON Co. Armagh BT66 6SD	BT66 6SD			OR-DGN	Michelle Folliard	2016-05-04 13:07:53.000	mawhinn1	2016-04-18 10:49:20.000	folliard	SOR-449545	833.7200000000000000	GBP	SLQ-058032	1884.9600000000000000

I'm looking for the above output except there should be one record. In that record Sales Amount should be 833.72 and Quotation Amount should be 839.22(the sum of the current 3 Quotation Amounts /3).

Cheers

Paul


Viewing all articles
Browse latest Browse all 7129

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>