Php 尝试使用“不存在”检查行是否存在但失败
我想知道,如果“产品”是电视,并且商标是好的,那么我想知道颜色是红色。然而,我也希望得到每一行的电视标记都不是‘好’的,无论颜色如何。因此,我使用notexists()检查TV行的标记是否没有“good”,但它失败了。我是否错误地使用了NOT EXISTS()或其他方式?预期输出是获得所有产品电视,颜色为红色,标记为良好,但任何产品电视标记也不是“良好”标记Php 尝试使用“不存在”检查行是否存在但失败,php,mysql,Php,Mysql,我想知道,如果“产品”是电视,并且商标是好的,那么我想知道颜色是红色。然而,我也希望得到每一行的电视标记都不是‘好’的,无论颜色如何。因此,我使用notexists()检查TV行的标记是否没有“good”,但它失败了。我是否错误地使用了NOT EXISTS()或其他方式?预期输出是获得所有产品电视,颜色为红色,标记为良好,但任何产品电视标记也不是“良好”标记 根据您的文本描述,我认为您想要的SQL将与 select product from table where amount i
根据您的文本描述,我认为您想要的SQL将与
select
product
from
table
where
amount in (%s, %s, %s) and
product='tv' and
((mark='good' and color=%s) or mark!='good')
group by
product
你应该考虑改变你的查询,如下面的
SELECT product
FROM table
WHERE (product='tv'
AND amount IN (%s, %s, %s)
AND mark='good'
AND color=%s )
OR NOT EXISTS
(SELECT 1 FROM talble WHERE product='tv'
AND amount IN (%s, %s, %s) AND mark = 'good')
GROUP BY product
预期的输出是什么?我试着编辑你的代码,不知道为什么会有代码,然后是db模式,然后是?>
。请重新格式化。您正在混合和和或而不使用任何()
来强制执行命令。