SELECT
[CustomerKey] AS 'Cust #',
CU.[CompanyName] AS 'Company Name',
ISS.InvoiceDate AS 'Invoice Date',
ISS.InvoiceTotal AS 'Invoice Total',
ISNULL(CU.ShopPhone,'') AS 'Company Shop',
ISNULL(CU.CellPhone,'') AS 'Company Cell',
ISNULL(CU.OfficePhone,'') AS 'Company Office',
ISNULL(CF.FirstName, '') AS 'FName',
ISNULL(CF.LastName,'') AS 'LName',
ISNULL(CF.WorkPhone,'') AS 'Contact Work',
ISNULL(CF.CellPhone,'') AS 'Contact Cell',
ISNULL(CF.HomePhone,'') AS 'Contact Home',
ISNULL(CF.EMail,'') AS 'Contact Email',
PSO.OutsidePartsSalespersonName
FROM
[ProfitMaster].[dbo].[vwAC_SSR_Customer] CU with (nolock)
LEFT JOIN
[ProfitMaster].[dbo].[vwAC_SSR_InvoiceSalesSummary] ISS with (nolock) ON CU.CustomerKey = ISS.Customer
JOIN
[ProfitMaster].[dbo].[vwSV_INV_PartsSalesOrder] PSO with (nolock) ON PSO.PartsSalesOrderInvoiceID = ISS.PartsSalesOrderInvoiceID
LEFT JOIN
(SELECT
EntityID, FirstName, LastName, WorkPhone, CellPhone, HomePhone, EMail
FROM
[ProfitMaster].[dbo].[vwGB_CON_ContactFull] with (nolock)
WHERE
EntityID IS NOT NULL
AND FirstName <> ''
AND EntityTypeID = '3'
AND SetDefault = '1'
GROUP BY
EntityID, FirstName, LastName, WorkPhone, CellPhone, HomePhone, EMail) AS CF ON CU.CustomerID = CF.EntityID
WHERE
CU.Inactive = '0'
AND ISS.InvoiceType = 'Parts Order'
AND ISS.InvoiceDate BETWEEN '2017-02-01 00:00:00.000' AND '2017-03-31 3:59:59.000'
AND CU.CustomerBaseBranchID = '1'
AND PSO.OutsidePartsSalespersonName IN ('Dave Freeland', 'Mark Miller', 'Ryan Oaks')
GROUP BY
CU.CustomerKey, CU.[CompanyName],
ISS.InvoiceDate, ISS.InvoiceTotal,
CU.ShopPhone, CU.CellPhone, CU.OfficePhone,
CF.FirstName, CF.LastName, CF.WorkPhone, CF.CellPhone,
CF.HomePhone, CF.EMail, PSO.OutsidePartsSalespersonName
ORDER BY
CU.CompanyName, ISS.InvoiceDate
Wie kann ich dies zu SUM ISS.InvoiceTotal gruppiert von CustomerKey gruppieren?SQL Server-Gruppe mit zusammen
Ich bekomme immer das "ist ungültig in der Auswahlliste, weil es weder in einer Aggregatfunktion noch in der GROUP BY-Klausel enthalten ist." Error.
Irgendwelche Ideen?
CustomerKey ist vermutlich der Primärschlüssel von vwAC_SSR_Customer. Ist PartsSalesOrderInvoiceID der Primärschlüssel von vwSV_INV_PartsSalesOrder oder vwAC_SSR_InvoiceSalesSummary? Ihre Outer-Joins funktionieren übrigens nicht, weil Sie alle Outer-Joined-Datensätze in Ihrer Where-Klausel ablehnen. –
Sind die folgenden Annahmen richtig? 1. Die Abfrage kann mehr als einen "ISS" Datensatz für einen "CU" Datensatz finden. 2. Die Abfrage kann mehr als einen "PSO" Datensatz für einen "ISS" Datensatz finden. 3. Die Abfrage kann mehr als einen CF-Datensatz für einen CU-Datensatz finden. –
1. ja 2. nein es ist eine 1 zu 1 Beziehung 3. Ja, es kann mehr als einen CF-Datensatz pro CU-Datensatz finden. Auf die CF-Tabelle kann ich jedoch verzichten, wenn es einfacher wird. –