![]() |
אני מנסה להציג סך הכנסות לכל משתמש וזה מציג את הסך של כל המשתמשים
אולי חסר משהו בקוד שפיספסתי
PHP קוד:
PHP קוד:
|
אני לא מבין מה ניסית לעשות בשאילתה.
1. הWHERE שלך לא שלם. 2. אתה לא משתמש בכלל בטבלה users, סתם "צירפת" אותה. אם אתה רוצה סכום פר משתמש (ולהחזיר את כל המשתמשים): קוד:
SELECT `UserId` , SUM(`Amount`) AS `Amount` FROM `assets` קוד:
SELECT `UserId` , SUM(`Amount`) AS `Amount` FROM `assets` |
ציטוט:
ואני כן משתמש בטבלת user בשביל להציג את שם המשתמש ולידו את משבצת סיכום ההכנסות |
ציטוט:
PHP קוד:
ואיך אני מציג את נתוני ההוצאה במסך הכללי הבא. PHP קוד:
|
לא הבנתי מה אתה רוצה לעשות,
ומה שונה ממה שכבר עניתי לך... |
ציטוט:
PHP קוד:
PHP קוד:
ושוב תודה רבה |
אני לא מכיר את המבנה של הטבלאות שלך,
אז אני אצא מהנחה שאתה עדיין רוצה את זה פר משתמש, ויש קשר גם בין הטבלה bills לטבלה users. (אולי יש דרכים אחרות, יעילות יותר) אני הייתי עושה משהו כזה - להחזיר את כל המשתמשים: קוד:
SELECT `user`.`UserId` , SUM(`assets`.`Amount`) as `a_sum` , SUM(`bills`.`Amount`) as `b_sum` FROM `user` קוד:
WHERE `user`.`UserId` = 1 (מן הסתם שאין לי איך לבדוק אם זה עובד ואם אין טעות איפשהו בתחביר או בשמות השדות והטבלאות) |
ציטוט:
הקוד עובד כמו שצריך רק בעיה אחת יש בזה, זה מציג נתונים לא אמיתיים. במקום 1000 זה מציג 5000 |
אוקיי,
עשיתי אתמול טעות בגלל השעה המאוחרת. מתנצל. LEFT JOIN מחזיר כמה פעמים (כפילויות) את אותה השורה לפי מספר השורות שקיימות בטבלאות assets ו bills, ובגלל זה הסיכום הכללי יוצא גבוה מדי ושגוי. הפיתרון צריך להיות שונה, משהו כזה - קוד:
SELECT `user`.`UserId` , קוד:
WHERE `UserId` = 1 מקווה שעכשיו זה יעבוד נכון ואין טעויות. |
תודה רבה עזרת לי מאוד
אם בכל זאת יהיו משתמשים חדשים בנושא שמסתייעים בפתרונות שנתת לי אז יש אפשרות של סיכום אחרי ההוצאות וההכנסות PHP קוד:
|
כל הזמנים הם GMT +2. הזמן כעת הוא 18:01. |
מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ