01-07-2009, 19:53
|
|
|
|
חבר מתאריך: 02.10.05
הודעות: 2,355
|
|
לא, purposeTime זה לא אינדקס, והשתמשתי ב- CURDATE רק בשביל לבדוק אם השאילתה עובדת, התאריך הולך להיות דינאמי.
השאילתה ששמתי שם יש טעות סינטקס, סורי על זה, השתמשתי בשאילתה שעשיתי לפי שתקנתי את זה.
זה השאילתה:
קוד:
SELECT DISTINCT ROUND( SUM( `cadets_attend`.`attend` ) / COUNT( DISTINCT `cadets_activities`.`purposeTime` ) ) AS `value`,
COUNT( DISTINCT `cadets_activities`.`purposeTime` ),
SUM( `cadets_attend`.`attend` )
FROM `cadets_activities`
LEFT JOIN `cadets_attend` ON `cadets_attend`.`activityId` = `cadets_activities`.`id`
WHERE `cadets_activities`.`stype` =5
AND YEAR( `cadets_activities`.`purposeTime` ) = YEAR( DATE_SUB( '2009-7-1', INTERVAL 1 MONTH ) )
AND MONTH( `cadets_activities`.`purposeTime` ) = MONTH( DATE_SUB( '2009-7-1', INTERVAL 1 MONTH ) )
התוצאה של
קוד:
COUNT( DISTINCT `cadets_activities`.`purposeTime` )
היא נכונה.
התוצאה של
[CODE][
SUM( `cadets_attend`.`attend` )
/CODE]
היא לא נכונה, בגלל שאני רוצה לשלוף רק את הערך של רשומות של הטבלה cadets_attend שקשורות לרשומות בטבלה cadets_activities שהשדה purposeTime שלהם הוא ייחודי
GROUP BY לא פתר את הבעיה ואני לא ממש בטוח איך זה קשור
_____________________________________
נערך לאחרונה ע"י tnadav1 בתאריך 01-07-2009 בשעה 19:57.
|