Hallo Leute,
Ich hab da eine SQL-Abfrage, die nicht genauso läuft wie ich es gerne hätte.
Anbei mal der Code und unten beschreib ich dann was ich gerne hätte:
[highlight=sql]DECLARE @ReportUID AS UNIQUEIDENTIFIER
SET @ReportUID = '0F59B1C3-6815-4D0A-86A5-6F23C4BEA72D'
SELECT DISTINCT RPCO_ProductPartner_Name AS [Produktpartner],
(SELECT DISTINCT SUM(CASE
WHEN RPCO_CommMethod_ShortName = 'BO'
AND (RPCO_TRAN_CourtageBonusReceived) <> '0'
THEN (RPCO_TRAN_CourtageBonusReceived)
ELSE (RPCO_TRAN_CourtageReceived)
END)
FROM Z_ContactCategories WITH (NOLOCK)
INNER JOIN Agents ON ZCCA_Contact_UID = AGEN_Contact_UID
WHERE RPCO_AGEN_Agent_UID = AGEN_Agent_UID
AND ZCCA_Deleted = 0
AND ZCCA_Category_UID='710f0b75-cbbe-4fb0-bfb5-b261de17afed')
AS [IPC]
FROM RPT_TOC_TransactionDetails WITH (NOLOCK)
INNER JOIN Agents_Commission WITH (NOLOCK) ON RPCO_AGEN_Agent_UID = AGST_Agent_UID
WHERE (RPCO_Report_UID = @ReportUID)
AND (AGST_End_Date IS NULL)
AND (RPCO_CommissionFactor <> 0)
AND (RPCO_AGEN_Commission_Value = '21')
GROUP BY RPCO_ProductPartner_Name,
RPCO_AGEN_Agent_UID
HAVING (SELECT DISTINCT 1
FROM Z_ContactCategories
INNER JOIN Agents ON ZCCA_Contact_UID = AGEN_Contact_UID
WHERE RPCO_AGEN_Agent_UID = AGEN_Agent_UID
AND ZCCA_Deleted = 0
AND ZCCA_Category_UID IN ('710f0b75-cbbe-4fb0-bfb5-b261de17afed')) IS NOT NULL
ORDER BY RPCO_ProductPartner_Name, 'IPC'[/highlight]
Und das ist das Ergebnis:
Das IPC wird in der Subabfrage abgefragt. Die Summen kommen von der Haupttabelle, wo auch der Produktpartner hinterlegt ist.
Ich möchte gerne die Summen Summieren. Leider tut es hier nicht. Das heißt, ich möchte dort wo jetzt "Capital Bank" steht, diese nur 1x stehen haben mit einer Endsumme und nicht x-mal.
Ich weiß hier leider nicht mehr weiter. Bin schon seit Tagen daran, dieses Problem zu lösen. Hab auch schon sehr viel probiert. Leider hat es bis dato noch nicht funktioniert.
Vielleicht könnte mir hier jemand helfen!
LG, m-werk
Ich hab da eine SQL-Abfrage, die nicht genauso läuft wie ich es gerne hätte.
Anbei mal der Code und unten beschreib ich dann was ich gerne hätte:
[highlight=sql]DECLARE @ReportUID AS UNIQUEIDENTIFIER
SET @ReportUID = '0F59B1C3-6815-4D0A-86A5-6F23C4BEA72D'
SELECT DISTINCT RPCO_ProductPartner_Name AS [Produktpartner],
(SELECT DISTINCT SUM(CASE
WHEN RPCO_CommMethod_ShortName = 'BO'
AND (RPCO_TRAN_CourtageBonusReceived) <> '0'
THEN (RPCO_TRAN_CourtageBonusReceived)
ELSE (RPCO_TRAN_CourtageReceived)
END)
FROM Z_ContactCategories WITH (NOLOCK)
INNER JOIN Agents ON ZCCA_Contact_UID = AGEN_Contact_UID
WHERE RPCO_AGEN_Agent_UID = AGEN_Agent_UID
AND ZCCA_Deleted = 0
AND ZCCA_Category_UID='710f0b75-cbbe-4fb0-bfb5-b261de17afed')
AS [IPC]
FROM RPT_TOC_TransactionDetails WITH (NOLOCK)
INNER JOIN Agents_Commission WITH (NOLOCK) ON RPCO_AGEN_Agent_UID = AGST_Agent_UID
WHERE (RPCO_Report_UID = @ReportUID)
AND (AGST_End_Date IS NULL)
AND (RPCO_CommissionFactor <> 0)
AND (RPCO_AGEN_Commission_Value = '21')
GROUP BY RPCO_ProductPartner_Name,
RPCO_AGEN_Agent_UID
HAVING (SELECT DISTINCT 1
FROM Z_ContactCategories
INNER JOIN Agents ON ZCCA_Contact_UID = AGEN_Contact_UID
WHERE RPCO_AGEN_Agent_UID = AGEN_Agent_UID
AND ZCCA_Deleted = 0
AND ZCCA_Category_UID IN ('710f0b75-cbbe-4fb0-bfb5-b261de17afed')) IS NOT NULL
ORDER BY RPCO_ProductPartner_Name, 'IPC'[/highlight]
Und das ist das Ergebnis:
Das IPC wird in der Subabfrage abgefragt. Die Summen kommen von der Haupttabelle, wo auch der Produktpartner hinterlegt ist.
Ich möchte gerne die Summen Summieren. Leider tut es hier nicht. Das heißt, ich möchte dort wo jetzt "Capital Bank" steht, diese nur 1x stehen haben mit einer Endsumme und nicht x-mal.
Ich weiß hier leider nicht mehr weiter. Bin schon seit Tagen daran, dieses Problem zu lösen. Hab auch schon sehr viel probiert. Leider hat es bis dato noch nicht funktioniert.
Vielleicht könnte mir hier jemand helfen!
LG, m-werk
Comment