|
|
|
|
|
для: Bvz
(16.09.2009 в 01:12)
| | Просто перечисляйте функции SUM() с соответствующими столбцами через запятую. | |
|
|
|
|
|
|
|
для: Саня
(15.09.2009 в 11:29)
| | а если надо посчитать несколько сум нескольких столбцов | |
|
|
|
|
|
|
|
для: Trianon
(15.09.2009 в 11:45)
| | еще раз спасибо! | |
|
|
|
|
|
|
|
для: Саня
(15.09.2009 в 11:29)
| | Это некорректное описание - в принципе.
# перечисляем данные, которые нужно выбрать
SELECT `master`.*, SUM(`visit`.`summa`)
# из табличного выражения
FROM (
# к таблице
`master`
# присоединяем данные из таблицы visit
LEFT JOIN `visit`
# критерий присоединения - совпадение идентификаторов мастера из таблиц visit и master
ON `visit`.`id_master`=`master`.`id`
)
# за указанный день
WHERE `date`='".$day."'
# группируем отдельно по каждому мастеру
GROUP BY `master`.`id`"
|
Скобки, добавленные мной, можно опустить. Суть от этого не изменится. В разделе FROM указывается табличное выражение (произвольной сложности), а не одна таблица.
LEFT JOIN является не отдельным разделом, а табличной операцией. | |
|
|
|
|
|
|
|
для: Саня
(15.09.2009 в 11:29)
| | спасибо!!! | |
|
|
|
|
|
|
|
для: Bvz
(15.09.2009 в 10:38)
| |
# перечисляем данные, которые нужно выбрать
SELECT `master`.*, SUM(`visit`.`summa`)
# из таблицы master
FROM `master`
# присоединяем данные из таблицы visit
LEFT JOIN `visit`
# критерий присоединения - совпадение идентификаторов мастера из таблиц visit и master
ON `visit`.`id_master`=`master`.`id`
# за указанный день
WHERE `date`='".$day."'
# группируем отдельно по каждому мастеру
GROUP BY `master`.`id`"
|
| |
|
|
|
|
|
|
|
для: heed
(14.09.2009 в 23:44)
| | >кстати ниже нормально предложено как заменить $fetch['SUM(`visit`.`summa`)'] напросто $fetch['summa']
Вот против этого не могу не возразить.
Делать алиас, совпадающий с именем существующего объекта - крайне неряшливо.
Во-первых, очень тяжело воспринимается человеком.
Во-вторых, могут возникнуть неоднозначности и побочные эфффекты, нарушающие планируемое поведение запроса.
Безусловно, отвлеченный алиас - только благо в подобной ситуации. | |
|
|
|
|
|
|
|
для: heed
(14.09.2009 в 23:44)
| | в целом спасибо, а вообще хотелось детально этот пример разобрать, чтоб потом не мучать форумчан подобными вопросами, поможите разобрать что и для чего? | |
|
|
|
|
|
|
|
для: Bvz
(14.09.2009 в 23:20)
| | Ну а чегоЖ)
если-бы там непонравилось что нули где-то в массивах получаются, а то вообще не понравилось что массивы получились
там в print_r() было всё показано , какие ключи у каких елементов.
Может нужно будет написать что-то вообще такое
<?
echo '<a href="delmaster.php?id='. $fetch['id']
.'">Удалить мастера</a><br/>' ."\n"
.'а зовут его '. $fetch['name'] .' и заработал он всего '
. $fetch['SUM(`visit`.`summa`)'] ."<hr/>\n";
| кстати ниже нормально предложено как заменить $fetch['SUM(`visit`.`summa`)'] напросто $fetch['summa'] | |
|
|
|
|
|
|
|
для: heed
(14.09.2009 в 23:09)
| | чем дальше в лес, тем больше дров :) | |
|
|
|
|