我无法想出这个。
$sql = "SELECT id,goodtill FROM table WHERE id = '$id' ORDER BY id LIMIT 1";
但是,我想确保当$id
为100
时,数据库中goodtill
的{{1}}为> '0'
。
$id's
有几个100
。其中一些人有goodtill > '0'
,有些人有goodtill = '0'
。我只想展示那些goodtill > '0'
而且我希望显示非$id's
的所有其他100
的广告。
我试过WHERE id = '$id OR ($id = '100' AND goodtill > '0')
但我很确定这不是怎么做的,因为它不能做我想做的事。
答案 0 :(得分:2)
您需要添加条件(除id = $id
之外),其中ID不是100,或,其中的礼物大于0。
SELECT id,goodtill FROM table
WHERE id = '$id'
AND (id != 100 OR goodtill > 0)
ORDER BY id LIMIT 1
$id
的输入9
,这将匹配id = 9
的所有记录。 where id != 100
为真,并有效地使OR goodtill > 0
支票短路。$id
的输入100
,这将匹配id = 100
和goodtill > 0
的所有记录。 id != 100
为false,表示OR goodtill > 0
条件必须通过。答案 1 :(得分:0)
当$ id = 100然后goodtill> 0 else 1 = 1时的情况。 而不是or子句
答案 2 :(得分:0)
试试这个:
SELECT id,goodtill FROM table WHERE id = '$id' AND (id != 100 OR (id = '100' AND goodtill > '0')) ORDER BY id LIMIT 1