I have a MySQL query in CodeIgniter like this:
$report = $this->db->query("
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 = 'cash_in'
)
-
(
SELECT SUM(noteAmount)
FROM notes
WHERE
DATE_FORMAT(noteDate, '%d-%m-%Y') = DATE_FORMAT(note1.noteDate, '%d-%m-%Y')
AND noteType = 'cash_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
WHERE note1.noteType = 'cash_in'
ORDER BY note1.noteDate DESC
LIMIT $start, $per_page
")->result();
See on WHERE Clause:
WHERE note1.noteType = 'cash_in'
I only want to take the cash data, but why do I get all the data (including cash out and others)?
My table also has cash out data.
notes table:
| noteID | noteTitle | noteDate | noteAmount | categoryID | noteType |
category table:
| categoryID | categoryName | parentID |