ציטוט:
נכתב במקור על ידי while1
אני לא מכיר את המבנה של הטבלאות שלך,
אז אני אצא מהנחה שאתה עדיין רוצה את זה פר משתמש, ויש קשר גם בין הטבלה bills לטבלה users.
(אולי יש דרכים אחרות, יעילות יותר)
אני הייתי עושה משהו כזה -
להחזיר את כל המשתמשים:
קוד:
SELECT `user`.`UserId` , SUM(`assets`.`Amount`) as `a_sum` , SUM(`bills`.`Amount`) as `b_sum` FROM `user`
LEFT JOIN `assets` ON `user`.`UserId` = `assets`.`UserId`
LEFT JOIN `bills` ON `user`.`UserId` = `bills`.`UserId`
GROUP BY `user`.`UserId`
ושוב, אם אתה רוצה להחזיר רק משתמש אחד, אז תשנה את השורה האחרונה של הGROUP BY לזה:
קוד:
WHERE `user`.`UserId` = 1
(מן הסתם שאין לי איך לבדוק אם זה עובד ואם אין טעות איפשהו בתחביר או בשמות השדות והטבלאות)
|
קודם כל תודה על המענה
הקוד עובד כמו שצריך
רק בעיה אחת יש בזה, זה מציג נתונים לא אמיתיים.
במקום 1000 זה מציג 5000