WHERE子句上的Mysql条件

时间:2017-12-15 22:46:30

标签: mysql

我使用mysql数据库使用php获取数据。我有分发者专栏,我使用像WHERE d_id = 1这样的WHERE子句。我有1到4个经销商。在前端我有HTML选择选项,如果我选择任何分销商它显示它的数据,但我添加了一个选项值=“0”作为总计。现在如果我选择Total它应该显示所有数据,实际上where子句不应该工作。 (显示所有经销商数据)

    Dist:  Product    Sales 
1.  dis_a    abc         100
2.  dis_b    abc         50
3.  dis_c    cde         10
4.  dis_c    cde         10

1 个答案:

答案 0 :(得分:1)

这是一个应该大致按照你想要做的选择的例子。

select d.[disc:], d.[Product], d.[Sales]
from your_table d
where d.your_table_seq =  case when @dist_id = 0 then d.your_table_seq else @dist_id end

当@dist_id参数等于0时,case块将允许你拉每一行,但是当@dist_id不等于0时,只会拉出等于@dist_id的id。