になる:MySQLの - 条件付きクエリ、私はこのようなクエリを作成したいの文
SELECT *目に見える= 'yes' にT1からAND(販売= 'yes' に、量> 0)
IF私の目標は、「販売」製品である場合に限り、数量が0より大きい表の行のみを受け取ることです。私はIFとCASE文を試しましたが、これらの結果は整数ではなく文でしかないようです。私はここで立ち往生しています
...
になる:MySQLの - 条件付きクエリ、私はこのようなクエリを作成したいの文
SELECT *目に見える= 'yes' にT1からAND(販売= 'yes' に、量> 0)
IF私の目標は、「販売」製品である場合に限り、数量が0より大きい表の行のみを受け取ることです。私はIFとCASE文を試しましたが、これらの結果は整数ではなく文でしかないようです。私はここで立ち往生しています
...
SELECT * FROM t1 WHERE visible='yes' AND ((sale = 'yes' AND quantity > 0) OR sale != 'yes')
あなたはIF
機能
SELECT *
FROM t1
WHERE visible='yes'
AND IF (sale = 'yes', quantity > 0, 1)
inthe第三のparamaterが欠落しているが、有効なSQL
あなたが彼の元のテキストを読んでいる場合である "受信のみ「販売」製品である場合には、数量が0より大きいテーブルの行だけです。
質問に多少の言い訳があります。前提は次のとおりです。
SALE = 'yes'、QUANTITY> 0およびVISIBLE = 'yes'の項目のみを返します。これは、ユーザーが何を望んであれば
は、のためのSQLは単純です:
SELECT * FROM t1 WHERE sale='yes' AND quantity > 0 AND visible='yes'
ところで、あなたのDBは、ブール値を(真/偽)の代わりにVARCHARのでははるかにある使用して、多くのデータを保持するために起こっている場合エンジン効率が高く、選択と挿入に時間を節約できます。
私はそれを知っておかげで、この1つは比較的小さいですが。 – klaaz
私はこの1つのために複雑に思っていましたが、私のためにそれを整えてくれてありがとう! – klaaz