Seite 1 von 1

Auto Increment in Abfrage

Verfasst: Mi, 04.02.2015 09:43
von KriegerA
Hi,

ich habe eine recht simple Abfrage, in der ich zwei Tabellen joine. Das Result Set soll mir eine Tabelle zurückgeben, die ich dann verwenden kann um sie in ein Importmodul einspielen zu können. Hierfür sind aber noch zusätzliche Spalten von Nöten, die das Importmodul benötigt - was an sich nicht das Problem wäre. Aber eine Spalte soll eine laufende Nummer enthalten. Quasi um die Anzahl der Zeilen zu zählen. Ich möchte also in der Abfrage eine Spalte hinzufügen, die von Zeile 1 des Ergebnisses von 1 hochzählt bis x in Zeile x.

Gibt's da sowas? Also dass ich im Prinzip erst bei der Abfrage einen Auto Increment einfügen kann?

Re: Auto Increment in Abfrage

Verfasst: Mi, 04.02.2015 13:41
von RobertG
Hallo KriegerA,

Du brauchst in der Abfrage ein Feld, das unverwechselbar ist. Ist ein Feld alleine nicht unverwechselbar, so nimm ein anderes hinzu. Die Abfrage für so eine Nummerierung geht vom Prinzip her so:

Code: Alles auswählen

SELECT "ID", ( SELECT COUNT( "ID" ) FROM "Tabelle" WHERE "ID" <= "a"."ID" ) AS "lfdNr." FROM "Tabelle" AS "a" 
Siehe dazu das kapitel "Datenbank-Aufgaben" aus dem aktuellen LO-Base-Handbuch.

Gruß

Robert

Re: Auto Increment in Abfrage

Verfasst: Sa, 28.02.2015 12:31
von glaxy
Gibt es die Möglichkeit eine Formular in Form einer Tabelle zu erzeugen, in der in der ersten Spalte die Kundennamen stehen, in der zweiten "Dokument1" + erhalten ja/nein, in der nächsten "Dokument2" + erhalten ja/nein usw.? So müsste ich nur in die verschiedenen Zellen klicken und nicht jedes Mal den Kundennamen und Dokumentennamen (bzw. die IDs) eingeben. 8)

Re: Auto Increment in Abfrage

Verfasst: Sa, 28.02.2015 12:47
von F3K Total
Klar,
kann man machen, je ein boolsches Feld für ein Dokument, macht man aber nicht!
Angenommen du hast 10 Spalten definiert, dann ist ab dem elften Dokument Schluss.
Überlicherweise nimmt man dazu eine zweite Tabelle, Kunden_Dokumente, in die die jeweilige Kombination Kunde/Dokument eingetragen wird.
Dann hat man keine Grenze.
Siehe dazu z.B. Videoturorial 10, M zu N Beziehungen, (meine Signatur).

Gruß R