startup Geschrieben 5. April 2002 Teilen Geschrieben 5. April 2002 Hallo alle zusammen, ich habe mal eine frage. Gibt es die Möglichkeit mit Sql bei einer Abfrage die Möglichkeit zusagen, das vor das Abgefragte eine weiter Spalte einfügt wo nummerierungen für die ausgegebenen Zeilen Gibt? Skizze: Aufzählung . Ausgabe1 . Ausgabe2 .Ausgabe3 1 xxx yyy zzzz 2 xxx yyy zzzz 3 xxx yyy zzzz Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Olli_Master Geschrieben 5. April 2002 Teilen Geschrieben 5. April 2002 Welches Datenbanksystem? Wenn du Oracle benutzt ist das einfach, da gibts eine Pseudo-Spalte ROWNUM. select ROWNUM,spalte1,spalte2 from tTable; Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HolzOnkel Geschrieben 6. April 2002 Teilen Geschrieben 6. April 2002 Hmm... kommt wirklich auf die Datenbank an. Wie wäre es mit einem View, dem Du eine eigene Identity-Spalte gibst? Ist, finde ich, die problemloseste Version für alle Datenbanken... Gruss, der Onkel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
hades Geschrieben 6. April 2002 Teilen Geschrieben 6. April 2002 Original geschrieben von HolzOnkel Wie wäre es mit einem View, dem Du eine eigene Identity-Spalte gibst? Ist, finde ich, die problemloseste Version für alle Datenbanken... Ja, das kommt aber wie Du schon sagtest auf das verwendete DBMS an. Nicht jedes DBMS unterstuetzt Views. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HolzOnkel Geschrieben 6. April 2002 Teilen Geschrieben 6. April 2002 Original geschrieben von hades Ja, das kommt aber wie Du schon sagtest auf das verwendete DBMS an. Nicht jedes DBMS unterstuetzt Views. Ach ja.. ich vergass... Standards sind ja für manche dazu da, nicht eingehalten zu werden... :OD Wie dem auch sei - welche Datenbank isses denn nun? gruss, der neugierige Onkel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Olli_Master Geschrieben 6. April 2002 Teilen Geschrieben 6. April 2002 Wie wäre es mit einem View, dem Du eine eigene Identity-Spalte gibst? Das machst du mir aber mal bitte vor (nur Standard-SQL) - datenbankunabhängig. Mittlerweile sollte so ziemlich jedes Datenbanksystem Views unterstützen, aber eine Identity-Spalte gibt es nur als erweiterung zum Standard-SQL und ist somit herstellerabhängig. 1. Alternative ----------------- Einen Bericht über diese Abfrage erstellen. Der sollte dann auf jeden Fall Nummerierungen unterstützen. 2. Alternative ----------------- Sollte es bei deinem DBMS keine spezifische Lösung geben, dann gibt es noch eine andere Möglichkeit (für Std-SQL, wenn Views unterstützt werden): Nehmen wir an deine Aufzählung ist auf einen bestimmten maximalwert begrenzt. z.B. auf max. 100 (es geht natürlich auch mehr) - dann könnte man eine Dummy-Tabelle mit 10 Datensätzen erstellen und über einen View eine nummerierte Liste von 1 bis 100 erstellen. Tabelle: tDummy ---------------------- Feldname: dummy Typ: Zahl (z.B. Integer oder NUMBER(5),.. ) dummy --------- 1 2 .. 10 Abfrage 1: -------------- SELECT d1.dummy+(d2.dummy-1)*10 lfdnr FROM dummy d1, dummy d2 Das ergibt eine Ergebnis der Form (ggf. muss noch mir ORDER BY sortiert werden) LfdNr ------ 1 2 3 ... 100 --- Dann kommt der schwere Teil: Diese Abfrage muss nun mit deiner Abfrage auf eine clevere Art verknüpft werden. Das überlasse ich dann aber dir... (du willst ja was lernen, oder?) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
HolzOnkel Geschrieben 7. April 2002 Teilen Geschrieben 7. April 2002 Original geschrieben von Olli_Master Das machst du mir aber mal bitte vor (nur Standard-SQL) - datenbankunabhängig. Mist... ich hab es vorhin ausprobiert, funzt leider nicht so ganz wie ich das wollte.. *seufz* Andere Idee: Bau deinen View mit einem OUTER JOIN auf: CREATE VIEW ViewName AS SELECT irgendeineTabelle.satz_nr, tabelle1.Feld1, tabelle1.Feld2 ... FROM tabelle1 FULL OUTER JOIN irgendeineTabelle ON 1=1 INNER JOIN tabelle2 ON tabelle1.LinkField = tabelle2.LinkField ... Und so weiter... ich habe jetzt keine "echte" SQL-Datenbank zur Hand, mit der ich dsa testen könnte, ist nur so eine Idee... einfach mal ausprobieren, könnte klappen... Gruss, der grübende Onkel Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.