Forums Neueste Beiträge
 

Suche SQL-Statement für fehlende Pendants

12/01/2009 - 15:48 von Michael Andreas | Report spam
Hi,

meine SQL-Tabelle enthàlt die ID: 2,3,4,6,7,9.
Gibt es ein SQL-Befehl mit dem ich fehlenden Pendants
auflisten kann, also 1,5,8... bis 1000?

Danke
Gruß Michael
 

Lesen sie die antworten

#1 Günter Prossliner
12/01/2009 - 16:09 | Warnen spam
Hallo Michael!

meine SQL-Tabelle enthàlt die ID: 2,3,4,6,7,9.
Gibt es ein SQL-Befehl mit dem ich fehlenden Pendants
auflisten kann, also 1,5,8... bis 1000?



Am einfachsten befüllst Du Dir eine tempoàre Tabelle mit allen Zahlen von 1
bis 1000, und machst anschliessend mit einer Sub-Query ein NOT EXISTS

z.b.

DECLARE @allNumbers TABLE(
Nr int
)

DECLARE @nr int
SET @nr=1

NextNr:
INSERT INTO @allNumbers VALUES @nr
SET @nr=@nr+1
IF @nr <= 1000 GOTO NextNr

SELECT Nr FROM @allNumbers WHERE Nr NOT IN (SELECT ID FROM OtherTable)


Für eine universellere Lösung könnte man die "AllNumbers" Tabelle auch in
einer UDF kapseln (z.b. Aufruf "SELECT * FROM dbo.AllNumbers(1,100)").


OK?
mfg GP

Ähnliche fragen