2017-12-15 17 views
0

PHPを使用してデータをフェッチするmysqlデータベースを使用しています。私はディストリビューターの列を持っている、WHERE d_id = 1のようなWHERE節を使用しています。私は1から4の代理店を持っています。フロントエンドでは、私は任意のディストリビューターを選択した場合、データを表示するHTMLオプションを選択しましたが、私はTotal = "0"というオプション値を追加しました。ここでTotalを選択すると、すべてのデータが表示されるはずです。 (すべての販売代理店のデータを表示)WHERE句のmysql条件

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

と等しくない場合にのみ@dist_idに等しいidを引っ張ってくることができますあなたの質問は何ですか?すべてのディストリビューターを選択したい場合は、選択したIDが0のときに 'WHERE'節を省略してください。 –

+0

@Remy Lebeauはい、どうですか?私はwhere句で何を変えるべきですか? – user3030814

+2

@ user3030814彼らは、クエリを実行するコードが0を見るときに、WHERE句を完全に省略すると言っています。 IN(d_id、0) 'も同様に動作するはずです。 _(どこに?はパラメータ値です)_ – Uueerdo

答えて

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に等しいとき、すべての行を引き出しますが、@dist_idだから0

+0

これはMySQLではなくT-SQL構文です。 – Barmar

+0

動作しません。そのmysqlではないかもしれません。 – user3030814