Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder einen alternativen Browser verwenden.
Dann schreibe erst mal den (sub-)select, der dir den 1. Eintrag aus der 2. Tabelle mit der ID = 2 holt. Wenn du das geschafft hast, kann man weiter gucken.
SELECT *
FROM tab AS T
INNER JOIN (SELECT *, RANK () OVER (PARTITION BY nr ORDER BY spalte1) AS RankValue
FROM tab2
) x
ON x.nr = T.nr
AND x.RankValue = 1
Verzeihung die "es" Abfrage/Ergebnis zeigt doch Doppelsätze, aber auch nicht für jede Datensatz, wie vorher.
Ich glaube, es liegt daran, dass doe Spalte1 ist unterschiedlich bei nr 1 , nr 2 etc.
SELECT *
FROM tab1 AS t
INNER JOIN (SELECT *, RANK () OVER (PARTITION BY nr ORDER BY spalte1) AS RankValue
FROM tab2
) x
ON x.nr = t.nr
AND x.RankValue = 1
Das ist das, was du oben gepostet hast. Es kommt kein Fehler.
Der Code ist nicht von mir und ist eine 1:1 Kopie von Olepoeto und auch nicht so, wie du ihn verwendest. Das wäre ein Grund für Fehler.
Ansonsten, kannst du definitiv ausschließen, dass du nicht auch in Tabelle 1 doppelte Werte in Nr hast? Ist diese Spalte als PRIMARY KEY definiert?
Du musst dem Datenbanksystem schon sagen, was es tun soll. Woher soll es wissen, welchen Datensatz du haben möchtest? Indem du ganz genau sagst (alle Kriterien, die den Datensatz dann einzigartig machen), welcher es ist.
edit: Musst du in dem Statement oben nicht nur die weiteren Spalten im ON hinzufügen? Also x.ww = t.ww, x.w = t.w
Ich werde mich am WE noch melden, ich habe hier ein Termin.
ich werde noch mla was fragen, weil es zeigt zwar alles sch´ön- dafür bedanke ich mich sehr!.
Allerdings er zeiht aus der Tabelle einmal der ersten Datensatz zu nr 1, und zu n2 z.B. zweiten und nicht demn ersten.
Also auf dem besipiel con oben zu meine Tabelle habe ich Ergebnis:
1
ww
w
2
ff
hj
obwohl bei 2 sollte: 2, sr, sd sein, als Ergebnis.
Nach welchem Kriterium sind die Daten denn sortiert? Ohne, dass du explizit deinem DBMS sagst, wie Datensätze sortiert sein sollen (z.b. mit einem ORDER BY) gibt es keine feste Reihenfolge von Daten von der du ausgehen kannst. Deshalb kann es auch passieren, dass sich die Reihenfolge der gefilterten Daten von den vorher ausgegebenen Daten unterscheidet.
LauraM schrieb:
Das erste Satz ist immer "gültiger", aber habe ich kein Datum, deshalb kann ich nicht definieren.
Wie genau setzt sich denn für dich die Reihenfolge der Datensätze zusammen? Was bedeutet "gültiger"? Wenn du das nicht explizit mit den in der DB gespeicherten Informationen und Spalten definieren kannst, dann muss man einfach feststellen, dass du für deinen Zweck eine ungeeignete Datenbankstruktur hast.
Hallo,
ich habe das Problem schon mit NULL erwähnt, aber taucht .
Ich habe Tabelle, wo NULL steht. Wenn ich eine XML auf Grund von meine Tabelle baue, taucht die NULL in tags, aber es soll nicht.
Wie/ was kann ich formulieren in der Abfrage, damit NULL nicht im tags vorkommt?