我对我正在进行的项目有疑问。
我有2张桌子。第一个表是workorder
。该表由以下列组成:
第二个表是workorder_records
。列:
我需要选择生成的每个workorder
= 0和exportready = 0并记录其记录。但是,只有经过批准= 0和描述的记录!=''。
我已经为它编写了这个查询:
SELECT *, (SELECT COUNT(*) FROM workorder_records
WHERE workorder_records.approved = 0
AND workorder_records.workorder_id = workorder.id
AND workorder_records.description != ''
) as totalunapproved
FROM workorder
WHERE workorder.generated = 0
AND workorder.exportready = 0
我在phpMyAdmin中执行此操作时得到了正确的结果。当我通过连接到同一数据库的PHP脚本运行它时,我得到不同的结果。例如,workorder_records.description实际为空但仍由查询函数返回的结果。
SQL小提琴链接:http://sqlfiddle.com/#!2/ea8aa/3
感谢任何帮助。
编辑:我通过在PHP中进行检查来解决问题。这当然不太理想,但我无法弄清楚条件子查询在PHPMyAdmin中工作的原因,而不是我的PHP脚本。
答案 0 :(得分:0)
尝试替换此
workorder_records.description != ''
到
workorder_records.description IS NOT NULL
默认情况下,将workorder_records.description设为null。