![]() |
Datenbank: Paradox • Version: xx • Zugriff über: BDE
Lücken in fortlaufender Nummerierung finden
Hallo Gemeinde,
wie kann ich per Query herausfinden, ob ich Lücken in meiner Nummerierung habe? Folgender Hintergrund: ich transferiere eine Tabelle, die ein Autoinc Feld hat in eine weitere Tabelle, die an der Stelle, wo in der ursprünglichen Tabelle das Autoinc Feld hat ein Integer Feld hat. Dabei geht manchmal was schief(oder ist zumindest in der Vergangenheit). Die ursprüngliche Tabelle wird nach dem BatchMove auch geleert, so dass ich in dieser nicht mehr kontrollieren kann. Daher die Frage kann ich(und wenn ja wie) per SQL die Datensätze herausfinden, wo in dieser Nummerierung Lücken auftauchen? Danke im Voraus... P.S.: bitte keinen Kommentar zur BDE... ich weiss schon : alt, blöd, instabil,.... |
AW: Lücken in fortlaufender Nummerierung finden
Z.b. in etwa so. Hauptsache es gibt einen Index auf das Feld und nicht zu viele Datensätze.
Code:
select a.nummer-1 as fehlt from tabelle a
where not exists (select b.nummer from tabelle b where b.nummer = a.nummer-1) |
AW: Lücken in fortlaufender Nummerierung finden
Es ist die Frage ob LocalSQL so mächtig ist aber man könnte es mit
SQL-Code:
select
<Feldliste> from <Tabelle> t where not exists ( select <pk> from <Tabelle> t2 where t2.<pk> = t.<pk> + 1); |
AW: Lücken in fortlaufender Nummerierung finden
Soweit, so gut, aber es gibt nur 1 Tabelle....und dort soll geprüft werden ob das Feld "NUMMER" Lücken aufweist...daher dürften eure Ansätze nicht funktionieren, oder habe ich da jetzt was falsch verstanden?
|
AW: Lücken in fortlaufender Nummerierung finden
Du hast was falsch verstanden.
Die SQLs der anderen waren auch nur für eine Tabelle gedacht. Eine Tabelle kann durchaus mehrmals und unter mehreren Bezeichnungen in einer Query vorkommen EDIT: Allerdings finden die bisher geposteten SQLs keine Lücken die größer als 1 Datensatz sind. Kenn mich nicht mit Paradox aus aber am einfachsten ist es wahrscheinlich über eine Stored Procedure oder einen Execute Block (falls es sowas in Paradox gibt) |
AW: Lücken in fortlaufender Nummerierung finden
aaahhh okay, dann sorry, dass ich gemeckert habe... darum ja auch die Frage, ob ich was falsch verstanden habe.....
<knie_nieder> Schön, dass es hier so viele schlaue Leute gibt! </knie_nieder> |
AW: Lücken in fortlaufender Nummerierung finden
Zitat:
|
AW: Lücken in fortlaufender Nummerierung finden
Mit einem Generator alle "IDs" im gewünschten Bereich (z.B. 1 bis greatest oder besser noch bis NextAutoInc-1) erstellen und dann im WHERE alles rausfiltern, was es gibt.
Übrig bleiben die Lücken. |
AW: Lücken in fortlaufender Nummerierung finden
oder mit Hilfe von Delphi.
erst alle IDs holen, die es gibt, dann Liste mit IDs generieren die es geben sollte. Aus der Sollliste alles löschen was in der IstListe ist. Übrig bleiben die Lücken. Gruß K-H |
AW: Lücken in fortlaufender Nummerierung finden
hallo,
Zitat:
Falls jemand doch noch eine SQL-Lösung findet, wäre ich sehr gespannt. mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz