Ich habe die folgende gespeicherte Prozedur, um Daten aus einer Tabelle abzurufen. Die Tabelle enthält eine Spalte "region", die Werte wie "APAC: China" usw. enthält, für die ich die Substring-Funktion verwende, um das : und alles danach zu entfernen.
Das unten stehende funktioniert, außer dass es alle Datensätze separat auflistet, anstatt sie nach meinem Substring zu gruppieren. So habe ich z.B. mehrere Elemente mit der Region "APAC", anstatt nur eines, bei dem alle unten erscheinen.
Meine gespeicherte Prozedur:
CREATE PROCEDURE [dbo].[CountRegions]
AS
BEGIN
SET NOCOUNT ON;
SELECT SUBSTRING(region, 1, CHARINDEX(':', region) - 1) AS region,
COUNT(*) AS groupCount,
FROM SOPR_LogRequests
WHERE logStatus = 'active'
GROUP BY region
ORDER BY groupCount desc, region
FOR XML PATH('regions'), ELEMENTS, TYPE, ROOT('ranks')
END
Mein Ergebnis:
APAC
1
EMEA
1
APAC
1
// ...
Erwartetes Ergebnis:
APAC
2
EMEA
1
// ...
Kann mir hier jemand helfen?
Vielen Dank für jegliche Hilfe, Tim.