I have 2 tables, users and users_advance. Tables looks like:
users:
| id | firstName | lastName |
| -- | --------- | -------- |
| 1 | John 1 | Test 1 |
| 2 | John 2 | Test 2 |
| 3 | John 3 | Test 3 |
users_advance:
| id | user_id | amount | d_add | status_id |
| -- | ------- | ------ | ---------- | --------- |
| 1 | 1 | 100 | 2022-07-09 | 1 |
| 2 | 1 | 50 | 2022-07-10 | 2 |
| 3 | 2 | 100 | 2022-07-03 | 1 |
| 4 | 2 | 50 | 2022-07-05 | 2 |
| 5 | 2 | 100 | 2022-03-09 | 1 |
| 6 | 1 | 50 | 2022-07-02 | 2 |
I've created sql SELECT u.id, u.firstName, u.lastName, IFNULL(SUM(uz.amount), 0) FROM users u LEFT JOIN users_advance uz ON uz.user_id = u.id WHERE (uz.d_add BETWEEN '2022-07-19' AND '2022-07-25') AND ((uz.status_id = 1) OR (uz.status_id = 2)) GROUP BY u.id
but it only returns me a users who have record in users_advance but I'd like to have as results all users with sum of amount even if thats null. If I will remove WHERE condition it returns all users. Could you help me?