View Single Post
ישן 05-02-16, 10:28   # 8
pcnet
חבר בקהילה
 
pcnet's Avatar
 
מיני פרופיל
תאריך הצטרפות: Apr 2014
מיקום: בני ברק
הודעות: 51

pcnet לא מחובר  

ציטוט:
נכתב במקור על ידי 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
  Reply With Quote