У меня есть этот рабочий запрос, который генерирует данные так, как мне это нравится, но теперь я хочу, чтобы он добавлял другое предложение предложения, которое будет получать строки из tbl_loan_master
, которых не было на tbl_loanledger
,Получить строки, которые не совпадают с другой таблицей
Пример данных:
tbl_borrowers
------------------------------------------
| id | first_name | last_name | deleted |
| 1 | Joe | Smith | 0 |
| 2 | Lily | Mag | 0 |
| 3 | Zen | Green | 0 |
| 4 | Kim | Chan | 0 |
| 5 | Bob | Mac | 1 |
| 6 | Ben | Cork | 0 |
------------------------------------------
tbl_loan_master
----------------------------------------------------------------------
| id | borrowers_id | loan | date_created | due_date | deleted |
| 1 | 4 | 300 | 2016/04/28 | 2017/04/28 | 0 |
| 2 | 1 | 100 | 2016/05/05 | 2017/05/05 | 0 |
| 3 | 2 | 500 | 2016/06/08 | 2017/06/08 | 0 |
| 4 | 1 | 200 | 2016/06/13 | 2017/06/13 | 0 |
| 5 | 3 | 150 | 2016/06/15 | 2017/06/15 | 0 |
| 6 | 6 | 50 | 2016/06/16 | 2017/06/16 | 0 |
----------------------------------------------------------------------
tbl_loanledger
------------------------------------------------------------------------------
| id | borrowers_id | loanmaster_id | payment | balance| date_created | deleted
| 1 | 4 | 1 | 50 | 250 | 2016/05/28 | 0
| 2 | 1 | 2 | 20 | 80 | 2016/05/25 | 0
| 3 | 1 | 2 | 30 | 50 | 2016/06/01 | 0
| 4 | 2 | 3 | 100 | 400 | 2016/06/09 | 0
| 5 | 2 | 3 | 50 | 350 | 2016/06/10 | 0
| 6 | 3 | 4 | 50 | 150 | 2016/06/16 | 0
------------------------------------------------------------------------------
Вот рабочий запрос:
$query = "SELECT `tbl_borrowers`.* , `tbl_loanledger`.*, `tbl_loan_master`.*
FROM `tbl_borrowers`
LEFT JOIN `tbl_loanledger`
ON `tbl_borrowers`.id = `tbl_loanledger`.borrower_id
LEFT JOIN `tbl_loan_master`
ON `tbl_loan_master`.id = `tbl_loanledger`.loanmaster_id
WHERE `tbl_borrowers`.deleted = 0 AND `tbl_loanledger`.deleted = 0 AND MONTH (`tbl_loanledger`.date_created) = MONTH(CURRENT_DATE)
GROUP BY `tbl_loanledger`.borrower_id
ORDER BY `tbl_borrowers`.last_name";
Ожидаемый результат будет выводить заемщик с их последней сделкой на текущем месяц (что июнь) в ссудной книге, а также в виде кредитов счетов. Как и Бен Корк, который не находится в реестре кредитов, он находится на кредитных счетах, но я хочу вывести его на результирующий набор. Удаленный столбец означает, что если он равен 0, он указывает, что он активен, если он равен 0, это означает, что он был удален.
Ожидаемый результат:
|First Name | Last Name | Due Date | Balance |
| Ben | Cork | 2017/06/16 | 50 |
| Joe | Smith | 2017/06/13 | 50 |
| Lily | Mag | 2017/06/08 | 350 |
| Zen | Green | 2017/06/15 | 150 |
'выбрать * из tbl_borrowers левый присоединиться tbl_loanledger б на a.id = b.borrowers_id где b.id is null –
Я добавил его в качестве комментария, потому что я не совсем уверен, понимаю ли я вопрос, заданный в запросе, и образец d ata и поля на этих таблицах. –
Извините за путаницу @JorgeCampos, я удаляю часть кода запроса, которая не включена в данные образца и поля в таблице. Когда я пытаюсь добавить только что «tbl_loanledger'.id имеет NULL в существующем запросе, все записи не отображаются – zen