【发布时间】:2017-05-03 11:12:49
【问题描述】:
我有下表:
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 |
还有输入字段@TYPE 和@COLOR。
如果@TYPE = '*' 和@COLOR = '*' 那么:
SELECT *
FROM TABLE1
否则,如果@TYPE = 'VEGET' 和@COLOR = '*':
SELECT *
FROM TABLE1
WHERE TYPE = 'VEGET'
如果@TYPE = '*' 和@COLOR = 'YELLOW':
SELECT *
FROM TABLE1
WHERE COLOR = 'YELLOW'
最后一种情况,如果@TYPE = 'VEGET'和@COLOR = 'YELLOW':
SELECT *
FROM TABLE1
WHERE TYPE = 'VEGET'
AND COLOR = 'YELLOW'
显然它不仅仅是两个字段或参数...
如何编写高效的查询来检查所有案例?
【问题讨论】:
标签: tsql where-clause