Ich habe Probleme, etwas zu erreichen, das scheint, als sollte es einfach sein. Das folgende Beispiel zeigt die Menschen in Klassen eingeschrieben sind, und eine Person kann in mehreren Klassen eingeschrieben werden, aber nur einer zur Zeit:SELECT Werte aus Tabelle mit gruppierten ID aber Unterschiede in nicht gruppierten Spalten
DECLARE @Test TABLE
(
PersonId int NOT NULL,
LocationId int NOT NULL,
ClassId int NOT NULL,
IsEnrolled bit NOT NULL,
IsExited bit NOT NULL
)
Daten hinzufügen:
INSERT INTO @Test
SELECT 1,5,6,1,0
UNION SELECT 1,6,7,0,1
UNION SELECT 2,5,8,1,0
UNION SELECT 2,5,9,0,1
UNION SELECT 3,5,9,0,1
UNION SELECT 3,6,9,1,0
ich alle Datensätze erhalten möchten (aktuell oder nicht) für die Personen, bei denen sich alle ihre Einschreibung am gleichen Ort befinden (mit der gleichen LocationId), aber nur die Werte, die aktuell sind (IsEnrolled = 1), wenn die Standorte unterschiedlich sind. Für die gleiche PersonId möchte ich alle Datensätze, wenn die LocationId eindeutig ist, und nur die aktuelle (IsEnrolled = 1), wenn die LocationId nicht eindeutig für die PersonId ist.
Daten Ich will zurück aus einer Abfrage erhalten:
SELECT
1 AS PersonId,
6 AS ClassId,
1 As IsEnrolled,
0 AS IsExited
UNION SELECT 2, 8, 1, 0
UNION SELECT 2, 9, 0, 1
UNION SELECT 3, 9, 1, 0
Erstens können Sie festlegen, wie Sie „Menschen bestimmen "? Ist "Id" die Personen-ID? Sonst kann ich nicht sehen, wie Personen über diese Datensätze hinweg verfolgt werden. Kannst du auch eine detailliertere Definition dessen geben, was du unter "alle ihre Registrierung ist am selben Ort?" Versteht das bedeutet, wo für jede Gruppe (aka Fenster) von Datensatz, wo Id (vorausgesetzt, dies ist die PersonId ist) das gleiche ist und LocationID ist das gleiche, alle Datensätze in diesem Fenster sind markiert IsEnrolled –
@magnum_pi - umbenannt Id für Klärung PersonId und "am gleichen Ort" bedeutet, dass die LocationId in der Zeile gleich ist. Danke – Noel
Die Beschreibung Ihrer gewünschten Ergebnisse ist mir unklar."Alle Datensätze, bei denen sich alle Anmeldungen am selben Ort befinden". Aus Ihren Beispieldaten sollte sich nur Person2 qualifizieren. Und "aktuell, wo Orte anders sind", ich weiß nicht, was das überhaupt bedeutet. –