sql >> Databasteknik >  >> RDS >> Sqlserver

Tre villkor i en kolumn i tabellen

Jag kanske har missuppfattat ditt krav, är det inte så lätt?

-- 1.) If User want all rows 
SELECT * FROM @tbl 

-- 2.) If user want rows where ID is NULL
SELECT * FROM @tbl 
WHERE ID IS NULL

-- 3.) If user want rows where ID is NOT NULL
SELECT * FROM @tbl 
WHERE ID IS NOT NULL 

Redigera :Så du vill använda en parameter för att filtrera därefter, ta en titt:

SELECT * FROM @tbl 
WHERE   @FilterID = 1                      -- returns all rows
OR    ( @FilterID = 2 AND ID IS NULL)      -- returns all null-rows
OR    ( @FilterID = 3 AND ID IS NOT NULL)  -- returns all not null rows

Du kan också använda CASE i where-klausulen, även om det inte rekommenderas .



  1. ResultSet är från UPDATE. Inga data

  2. Ta bort en post från konsolen -- Ruby on Rails

  3. MySql frågeanalysator - gratis lösningar

  4. Hur fungerar MySQL fulltextsökning?