sql >> Databasteknik >  >> RDS >> Sqlserver

COALESCE i Where-klausulen?

@Blorgbeard svar (att använda topp 1 och sortera efter) är förmodligen det bästa sättet, men bara för att vara annorlunda kan du också använda en underfråga som inte existerar:

SELECT name FROM names 
WHERE (colA = @colA) OR (colA = 'ALL' AND NOT EXISTS(
                                                SELECT name FROM names 
                                                WHERE colA = @colA)) 

Jag antar att "fördelen" med detta är att den använder mer standard sql.



  1. Hur renderar man en trädstruktur i viloläge med flera tabeller?

  2. Använder COALESCE korrekt i WHERE-satsen

  3. Är det möjligt att anropa lagrad procedur i sikte?

  4. Hur blir man av med NUL-tecken i Oracle-databasen?