sql >> Database >  >> RDS >> Sqlserver

Hoe selecteren voor niet-gebruikte codes in dit voorbeeld

Genereer een lijst met nummers voor uw bereik (hier gebruik ik VALUES clausule), voeg dan semi-join toe aan de "gebruikte" lijst

SELECT
    *
FROM
   (VALUES (1), (2), (3), (4), (5), (6), (7), (8), (9)) X (Num)
WHERE
   NOT EXISTS (SELECT * FROM MyTable M WHERE M.Code = X.Num)

Bewerken:

U kunt de VALUES-clausule vervangen door elke code voor het genereren van een getallentabel. Voorbeelden:



  1. Waarom kan ik een tabel maken met PRIMARY KEY op een nullable kolom?

  2. MySQL in-waar is traag?

  3. Automatiseer databasetestherstel in SQL Server

  4. Hoe selecteer ik iets in MYSQL zonder het twee keer te selecteren als het in de rij staat?