تالار گفتمان nCIS.ir

نسخه‌ی کامل: راهنمایی برای کوئری لیست بدهکارن
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سه تا جدول users - year - yearUser داریم
user : id, name, ....
year: id, year,price
yearUser: id, userID,yearID

جدول year می گه هر سال چه میزان بایستی پرداخت بشه
جدول yearUser میگه هر کاربر پرداختی کدام سال ها را داده است.

لیست کاربرانی که به ما پرداختی نداشته اند رو داشته باشم. به همراه سال هایی که که کاربر در اونها پرداختی نداشته است به همراه مبلغ اون سال با جمع مبالغ بدهی رو نمایش بدیم .
اینو تست کنین:
SELECT
    `u`.`id` AS `userID`,
    `u`.`name` AS `userName`,
    IFNULL(SUM(`price`), 0) AS `totalPayment`,
    ((SELECT SUM(`price`) FROM `year`) - IFNULL(SUM(`price`), 0)) AS `debit`,
    IFNULL(GROUP_CONCAT(`year`), '') AS `paymentYears`
FROM `user` `u`
LEFT JOIN `yearUser` `yu` ON `u`.`id`=`yu`.`userID`
LEFT JOIN `year` `y` ON `yu`.`yearID`=`y`.`id`
GROUP BY `userID`
ORDER BY `userID`;