下面是我的查詢:左MySQL查詢問題聯接
SELECT
u.id,
CONCAT(u.FirstName, ' ', u.LastName) as customer,
u.MobileNumber,
u.EmailId,
(
pmt.TotalCreditedAmt - trns.TotalDeductAmt
) as available_balance,
DATE_FORMAT(i.InvoiceDate, '%Y/%m/%d') as InvoiceDate,
pmt.TotalCreditedAmt,
trns.TotalDeductAmt
FROM
(`Users` as u)
INNER JOIN (
SELECT
Max(InvoiceDate) AS InvoiceDate,
Customer_id
FROM
Invoice
GROUP BY
Customer_id
) as i ON `i`.`Customer_id` = `u`.`Id`
LEFT JOIN (
SELECT
sum(CreditedAmount) AS TotalCreditedAmt,
UserId
FROM
Payment
where
PaymentSucc = "Yes"
GROUP BY
UserId
) as pmt ON `pmt`.`UserId` = `u`.`id`
LEFT JOIN (
SELECT
sum(Amount) AS TotalDeductAmt,
UserId
FROM
Transaction
GROUP BY
UserId
) as trns ON `trns`.`UserId` = `u`.`id`
WHERE
`u`.`UserType` = 'User'
AND `pmt`.`TotalCreditedAmt` - trns.TotalDeductAmt < '0'
ORDER BY
`u`.`EmailId` desc
我有問題,如下一個案例:
用戶ID(1,2,3,4,5,6,7 )從這個用戶標識的用戶標識(1,2,3,4)已完成付款。用戶標識(5,6,7)還沒有完成付款。因此,用戶標識(5,6,7)不在付款表中。
和用戶ID(1,2,3,4,5,6,7)所做交易和它們的條目存在於交易table.and也產生髮票。
從上面的查詢我只獲得用戶id(1,2,3,4)的記錄,因爲它是支付表中的條目。 我也希望記錄誰的條目不在付款表中。 請任何人都可以幫我解決我的問題?