[英]Mysql subqueries with conditions, different results
我正在處理的項目有問題。
我有2張桌子。 第一個表是工作workorder
。 該表包括以下列:
第二個表是workorder_records
。 列:
我需要選擇生成= 0且exportready = 0及其記錄計數的每個工作workorder
。 但是,僅記錄批准= 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腳本中起作用。
嘗試取代這個
workorder_records.description != ''
至
workorder_records.description IS NOT NULL
並默認將workorder_records.description設置為null。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.