FALL-syntax in einer WHERE-Klausel auf MSSQL

Habe ich die folgende SQL-syntax auf MSSQL

SELECT
  id,
  firstName,
  lastName
FROM
  Person
WHERE
  ((CASE WHEN @Filter = 'firstName' THEN @Value END) = firstName ) or
  ((CASE WHEN @Filter = 'lastName' THEN @Value END) = lastName ) 

Es funktioniert, aber ich weiß nicht, ob es eine bessere und effizientere Methode, dies zu tun.

Vielen Dank im advanceName

Das sollte kompilieren, aber ich glaube nicht, dass es das tut, was Sie will es auch... Ist da ein @Name-parameter übergeben wird, in Ergänzung zu @Filter?
Sorry, ich habe gerade fix der SQL-Syntax

InformationsquelleAutor roncansan | 2011-04-23

Schreibe einen Kommentar