J'ai le tableau suivant:T-SQL instruction WHERE fonction du paramètre
TABLE1
| ID | NAME | TYPE | COLOR |
| 1 | APPLE | FRUIT | RED |
| 2 | BANANA | FRUIT | YELLOW |
| 3 | LEMON | FRUIT | YELLOW |
| 4 | TOMATO | VEGET | RED |
| 5 | PEPPER | VEGET | RED |
| 6 | PEAR | FRUIT | GREEN |
Et les champs de saisie @TYPE et @COLOR. Si @TYPE = '*'
et @COLOR = '*'
alors:
SELECT *
FROM TABLE1
autrement, si @TYPE = 'VEGET'
et @COLOR = '*'
:
SELECT *
FROM TABLE1
WHERE TYPE = 'VEGET'
si @TYPE = '*'
et @COLOR = 'YELLOW'
:
SELECT *
FROM TABLE1
WHERE COLOR = 'YELLOW'
et le dernier cas, si @TYPE = 'VEGET'
et @COLOR = 'YELLOW'
:
SELECT *
FROM TABLE1
WHERE TYPE = 'VEGET'
AND COLOR = 'YELLOW'
De toute évidence, il est non seulement deux champs ou paramètres ...
Comment puis-je écrire une requête efficace pour vérifier tous les cas?