首页 > 解决方案 > 为什么mysql查询返回零值?

问题描述

这是我的查询:

SELECT c.categoryName,
        note1.*,
        ((SELECT SUM(noteAmount)
          FROM notes
          WHERE DATE_FORMAT(noteDate, '%d-%m-%Y') = DATE_FORMAT(note1.noteDate, '%d-%m-%Y') AND noteType = 'in')
        -
        (SELECT SUM(noteAmount)
         FROM notes
         WHERE DATE_FORMAT(noteDate, '%d-%m-%Y') = DATE_FORMAT(note1.noteDate, '%d-%m-%Y') AND noteType = 'out')) as trxCount
       FROM notes AS note1 
       JOIN
         (SELECT noteDate
          FROM notes

          GROUP BY noteDate
          HAVING COUNT(noteDate) > 0)
        AS note2
          ON note1.noteDate = note2.noteDate
        JOIN category c
          ON c.categoryID = note1.categoryID
        ORDER BY note1.noteDate ASC

看这个:

((SELECT SUM(noteAmount)
          FROM notes
          WHERE DATE_FORMAT(noteDate, '%d-%m-%Y') = DATE_FORMAT(note1.noteDate, '%d-%m-%Y') AND noteType = 'in')
        -
        (SELECT SUM(noteAmount)
         FROM notes
         WHERE DATE_FORMAT(noteDate, '%d-%m-%Y') = DATE_FORMAT(note1.noteDate, '%d-%m-%Y') AND noteType = 'out')) as trxCount


假设一天中只有一个收入数据(in)(没有支出数据)。例如 in = 15, and out = 0. 在查询中,我做了 [in - out] (15 - 0),但为什么我得到的是 0 而不是 15?

标签: phpmysql

解决方案


推荐阅读