Ich habe folgende Tabellenspalten und Werte ...msaccess 2007 SQL komplexe Abfrage
ColA, ColB, ColC
b, 90, 1
p, 95, 5
p, 100, 6
p, 99, 6
p, 98, 6
b, 94, 5
b, 93, 1
b, 92, 3
o, 89, 3
b, 88, 4
ich die folgende Ergebnismenge benötigen:
ColA, ColB, ColC
b, 90, 1
b, 93, 1
p, 95, 5
o, 89, 3
Im Wesentlichen ist der niedrigste Wert für COLC wo ColA ist das gleiche. Also ist der niedrigste Wert für alle b's 1 und er tritt in zwei Reihen auf. Der niedrigste Wert für alle ps ist 5 und der niedrigste Wert für alle o's ist 3. ColB ist ein Wert, der in einer anderen Tabelle verwendet wird. Also brauche ich eine Abfrage, die sich an einer anderen Tabelle über ColB anschließt.
Danke.
Das hat es geschafft! Danke Eid! – user2184214
Eid - Ich will nicht mehr die zweite 'b' Ergebniszeile. Ich möchte nur die Zeile, in der ColA gruppiert ist, die den niedrigsten ColC-Wert hat; und wenn es ein Unentschieden gibt, dann bestimmt der höchste ColB die Unentschiedenheit. Und wenn sie an ColC und ColB anknüpfen, dann kehren sie nur eine Zeile zurück und mir ist es egal. Können Sie das tun? – user2184214
Wählen Sie distinct mainTable.colA, max (mainTable.ColB), mainTable.ColC aus abcTable als mainTable inner join (wählen Sie t.colA, min (t.colC) als minColC aus abcTable als t group nach t.ColA) als minimumTable auf mainTable.colA = minimumTable.ColA und mainTable.colC = minimumTable.minColC Gruppe von mainTable.colA, mainTable.ColC –