Goos Geschrieben 16. Dezember 2003 Geschrieben 16. Dezember 2003 Hi, ich gruebel gerade an nem kleinen Problem rum, vielleicht hat ja einer von euch ne Loesung. Das ganze bezieht sich auf nen MSSQLSERVER. Im groben schaut meine Abfrage so aus: select bla from test (hier ein paar Joins) where blablabla AND blablabla AND WERT IN (SELECT TOP 2 LI FROM [mirror] GROUP BY LI ORDER BY MIN(INDEX) DESC) Das Problem hierbei ist, dass ich als Ergebnis alles bekomme, was sich in den Top 2 der Unterabfrage befindet, allerdings wird dabei auf die Ergebnisreihenfolge der Unterabfrage logischerweise keine Ruecksicht genommen. Ziel ist es aber Ergebnisse zu bekommen, die in der Reihenfolge den umgekehrten Top 2 der Unterabfrage entsprechen. (ach und ich wollts ansich vermeiden zu dem Zweck noch ne temp tabelle anzulegen) Goos
beetFreeQ Geschrieben 17. Dezember 2003 Geschrieben 17. Dezember 2003 Wenn ich dich richtig verstehe, möchtest du, daß dein Ergebnis die selbe Sortierung hat, wie die Unterabfrage, oder? Dafür musst du eigentlich nur das Feld, nach dem du sortierst, mit einem inneren Select-Statement aus dieser Tabelle dazuholen und hinten natürlich ins ORDER BY des Statements mit einbauen. Also etwa so: select bla, index = (SELECT TOP 1 INDEX FROM [mirror] WHERE mirror.LI = test.LI ORDER BY INDEX DESC) from test (hier ein paar Joins) where blablabla AND blablabla AND WERT IN (SELECT TOP 2 LI FROM [mirror] GROUP BY LI ORDER BY MIN(INDEX) DESC) ORDER BY INDEX DESC Ich hoffe, das passt so... - bin mir aber nicht 100% sicher...
Goos Geschrieben 17. Dezember 2003 Autor Geschrieben 17. Dezember 2003 So von der Sache her klappt das wie du es vorgeschlagen hast, danke. Ich bin nun aber doch auf meine temporäre Tabelle ausgewichen und mach dort prinzipiell das gleiche, da mein Select ansich auch nur Teil von nem Insert ist und ich die Zieltabelle nicht aendern kann. Goos
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden