Erste Freie Nummer in SQL Datenbank finden

Anonym
2024-01-19T20:18:25+00:00

Hallo,

ich habe eine längere Tabelle mit den Feldern:

  • PROJEKTNUMMER -Textfeld
  • PROJEKTNAME - Textfeld
  • PROJEKTJAHR - Textfeld

Bei der Anlage der Projektnummern ist man sehr ungenau gewesen und nun brauche ich ein MS-SQL-Kommando, dieses mir die erste freie Projektnummer findet.

Beispiel: ich habe die Projektnummern: 1, 2, 3, 4, 7, 8, 9 und das Skript muss mir den Wert "5" zurückgeben.

Wer kann mir hier anhand eines Beispielskirpt auf die Sprünge helfen? Es muss doch irgendwie über "top 20 row_number()...." gehen oder hat jemand einen anderen Weg?

Danke

Windows Server Remote und virtuelle Desktops

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen. Aus Datenschutzgründen werden Benutzerprofile für migrierte Fragen anonymisiert.

0 Kommentare Keine Kommentare
{count} Stimmen

2 Antworten

Sortieren nach: Am hilfreichsten
  1. Anonym
    2024-01-21T17:07:35+00:00

    Das sollte bereits mit folgendem SELECT funktionieren::

    select nummer + 1 from tabelle where nummer + 1 not in (select nummer from tabelle)

    Die erste, freie Nummer - in deinem Fall die 5 - erhältst du durch folgende Abfrage:

    select min(nummer + 1) from tabelle where nummer + 1 not in (select nummer from tabelle)

    0 Kommentare Keine Kommentare
  2. Anonym
    2024-01-24T14:47:27+00:00

    Hallo,

    der Tipp war super und so funktioniert es:

    SELECT

    TOP 1 
    
    [row] AS [NeueID] 
    

    FROM

    (SELECT ROW_NUMBER() OVER(ORDER BY [number]) AS [row], [number]

    FROM [table1]) AS [data] 
    

    WHERE

    [number] <> [row];
    

    Danke

    0 Kommentare Keine Kommentare