In Tabelle A habe ich eine int-Spalte.
Ist es möglich, nur eine select-Anweisung zu verwenden, um den Minimalwert in der Spalte zu wählen, die NICHT EXISTIERT und größer als 0 ist?
Wenn die Spalte beispielsweise die Werte 1,2,9 hat, gibt die SELECT-Anweisung 3 zurück. Wenn die Spalte 9,10,11 hat, wird 1 zurückgegeben.
Ich kann dies mit einer temporären Tabelle oder mit einer Schleife erreichen, aber ich frage mich, ob ich das mit einer select-Anweisung machen kann?
Danke.
Ich habe meine Antwort von hier dupliziert >:
%Vor%Damit werden alle Fälle behandelt, die ich mir vorstellen kann - auch keine vorhandenen Datensätze.
Das Einzige, was ich an dieser Lösung nicht mag, ist, dass zusätzliche Bedingungen doppelt enthalten sein müssen:
%Vor%Beachten Sie auch die Kommentare zu Sperren und Parallelität - die Anforderung, Lücken zu füllen, ist in den meisten Fällen schlecht und kann Probleme verursachen. Ich hatte jedoch einen guten Grund, es zu tun: Die IDs sollen von Menschen gedruckt und getippt werden und wir wollen nach einiger Zeit keine IDs mit vielen Ziffern mehr haben, während alle niedrigen frei sind ...
>Tags und Links sql sql-server tsql