Hallo allerseits!
Ich habe hier eine kleine relationale Datenbank mit zwei Tabellen: In der einen Tabelle sind meine Schallplatten, in der anderen die Titel auf diesen Schallplatten gelistet. Die Schallplatten sind von 1 bis 999 händisch nummeriert; die Nummer darf sich nicht ändern. Ich habe aber weniger als 999 Schallplatten, weil einige im Laufe der Jahre ausgesondert wurden. Diese etwa hundert habe ich auch aus der Datenbank gelöscht. Nun will ich die fortlaufende Nummerierung bei Neukauf von Platten erst einmal nicht bei 1.000 fortsetzen, sondern die Lücken in der bisherigen Nummerierung, also die Nummern der ausgesonderten Platten, finden und wieder verwenden.
Wie finde ich die Lücken am einfachsten?
Klar - ich könnte die Tabelle nach Calc schubsen und da die Differenz zwischen aktueller und vorhergehender Zeile ausrechnen lassen und bei Werten größer 1 sehe ich dann die Lücke. Aber ich würde das gerne dynamisch in Base tun. Geht das?
🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱
🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
Lücken in fortlaufender Nummerierung finden
Lücken in fortlaufender Nummerierung finden
Libre Grüße
AHo.
LibreOffice 7.1 | Windows 10
AHo.
LibreOffice 7.1 | Windows 10
Re: Lücken in fortlaufender Nummerierung finden
Hallo,
die übliche Lösung ist wohl ein LEFT JOIN mit einer Tabelle, die alle möglichen Ids - bei Dur 1 bis 1000 enthält.
Manch Datenbanken bieten dafür z.B. SEQUENCE als Struktur an.
Beispielabfrage:
http://www.donkarl.com/?FAQ3.16
Mfg, Jörn
PS: Die Frage habe ich vor nicht allzu langer Zeit schon mal gelesen....
Edit: https://de.openoffice.info/viewtopic.ph ... 61#p291761
die übliche Lösung ist wohl ein LEFT JOIN mit einer Tabelle, die alle möglichen Ids - bei Dur 1 bis 1000 enthält.
Manch Datenbanken bieten dafür z.B. SEQUENCE als Struktur an.
Beispielabfrage:
http://www.donkarl.com/?FAQ3.16
Mfg, Jörn
PS: Die Frage habe ich vor nicht allzu langer Zeit schon mal gelesen....
Edit: https://de.openoffice.info/viewtopic.ph ... 61#p291761
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
Re: Lücken in fortlaufender Nummerierung finden
Code: Alles auswählen
select * from t_platten p where not exists (select 1 from t_platten e where p.ID_PLATTE = (e.ID_PLATTE - 1))
Angezeigt wird immer der Datensatz der VOR einem Loch kommt. (ID 565 wird angezeigt ==> ID 566 FEHLT)
Wenn mehrere Datensätze hintereinander fehlen wird auch nur der vor dem Loch angezeigt...:
Wenn 5 und 6 fehlen, dann wird der 4er angezeigt.
Nach Neuerfassen des 5ers wird dann der 5er angezeigt, da der 6er noch fehlt...dem
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.