簡體   English   中英

帶有條件的MySQL子查詢,結果不同

[英]Mysql subqueries with conditions, different results

我正在處理的項目有問題。

我有2張桌子。 第一個表是工作workorder 該表包括以下列:

  • ID
  • 相關代碼
  • 產生的
  • 准備出口

第二個表是workorder_records 列:

  • ID
  • workorder_id
  • 描述
  • 已批准

我需要選擇生成= 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM