Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: SUM по разным столбцам таблицы
 
 автор: Микель   (28.06.2008 в 23:34)   письмо автору
6 Кб
 
 

Подскажите,плз
Вот есть такая таблица (точнее представление,полученное на основе других таблиц),содержащая результаты матчей футбольных команд. Нужно пулучить суммарное количество забитых и пропущенных мячей.Например для
Зенита это будет:Забитых-9 (5+4) Пропущенных:4 (2+2)

Полдня колдовал с SUM. Ничего не выходит:(

ЗЫ таблица прикреплена к теме изображением

   
 
 автор: Эй   (29.06.2008 в 06:01)   письмо автору
 
   для: Микель   (28.06.2008 в 23:34)
 

Если это отдельная таблица, то выбрана плохая структура, если это результат выборки из других таблиц, то лучше бы увидеть структуру исходных тыблиц и выборку делать из них.

   
 
 автор: Микель   (29.06.2008 в 12:08)   письмо автору
36.5 Кб
 
   для: Эй   (29.06.2008 в 06:01)
 

Это результат выборки из двух других таблиц: матчи и команды
Таблица во вложении.

   
 
 автор: Trianon   (29.06.2008 в 12:17)   письмо автору
 
   для: Микель   (29.06.2008 в 12:08)
 

Поимейте совесть, приведите дамп этих двух таблиц (вкладка Экспорт)

   
 
 автор: Микель   (29.06.2008 в 12:38)   письмо автору
 
   для: Trianon   (29.06.2008 в 12:17)
 

CREATE TABLE `commands` (
`id_command` int(11) NOT NULL auto_increment,
`name_command` varchar(255) NOT NULL,
`base_command` varchar(255) NOT NULL,
`logo_command` varchar(255) NOT NULL,
PRIMARY KEY (`id_command`)
) ENGINE=MyISAM AUTO_INCREMENT=14 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=14 ;

--
-- Дамп данных таблицы `commands`
--

INSERT INTO `commands` VALUES (1, '111111111111878781', '1111111111111', 'strelka.gif');
INSERT INTO `commands` VALUES (2, '23433434', '766776', 'yandex.bmp');
INSERT INTO `commands` VALUES (3, '677777777777777', '666666666666', 'shadow_left.gif');
INSERT INTO `commands` VALUES (4, '5666666666', '555555555555', 'bg_td.gif');
INSERT INTO `commands` VALUES (5, '56666666', '666666666666', 'line1.gif');
INSERT INTO `commands` VALUES (6, '56666666666', '666666666', '111.jpg');
INSERT INTO `commands` VALUES (7, '3434', '4444444444', 'webmoney.gif');
INSERT INTO `commands` VALUES (8, '5445', '454545', 'bg_blue_white.gif');
INSERT INTO `commands` VALUES (9, '5445454554', '454545', '111.jpg');
INSERT INTO `commands` VALUES (10, 'Зенит', 'zenit', '');
INSERT INTO `commands` VALUES (11, 'Локомотив', 'loko', '');
INSERT INTO `commands` VALUES (12, 'Спартак', 'spartak', '');
INSERT INTO `commands` VALUES (13, 'Динамо', 'dinamo', '');



CREATE TABLE `matches` (
`id_match` int(11) NOT NULL auto_increment,
`title_match` varchar(255) NOT NULL,
`id_command1` int(11) NOT NULL,
`id_command2` int(11) NOT NULL,
`score1` int(11) default '0',
`score2` int(11) NOT NULL default '0',
`id_tournir` int(11) NOT NULL,
`id_season` varchar(255) NOT NULL,
`date_match` datetime NOT NULL,
`stadio_tour` varchar(255) NOT NULL,
`match_statistic` text NOT NULL,
`num_tour` int(11) NOT NULL,
PRIMARY KEY (`id_match`)
) ENGINE=MyISAM AUTO_INCREMENT=12 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=12 ;

--
-- Дамп данных таблицы `matches`
--

INSERT INTO `matches` VALUES (1, '344444444444444444444444', 1, 6, 2, 3, 1, '8', '2008-06-23 16:28:58', 'rttttttttttttttttttttttttttttttt', '<p>rtrtrtrtrt</p>', 1);
INSERT INTO `matches` VALUES (2, '77777777777777', 1, 1, 0, 0, 1, '1', '2008-06-23 20:09:51', '7777777777777777777777', '<p>67777777777777777777</p>', 1);
INSERT INTO `matches` VALUES (3, '', 1, 1, 0, 0, 1, '1', '2008-06-23 20:10:16', '', '<p>344444444444</p>', 1);
INSERT INTO `matches` VALUES (4, '5555555555555555', 1, 1, 0, 0, 1, '1', '2008-06-23 20:17:45', '5555555555555555555555', '<p>45555555555555</p>', 1);
INSERT INTO `matches` VALUES (5, 'eeeeeeeeeeeeeeeee', 1, 1, 0, 0, 1, '1', '2008-06-23 20:51:09', 'eeeeeeeeeeeeeeeeeeeee', '<p>weeeeeeeeeeeeee</p>', 1);
INSERT INTO `matches` VALUES (6, '5555555555555555', 1, 1, 0, 0, 1, '1', '2008-06-23 21:04:35', '555555555555555555555555', '<p>45555555555</p>', 1);
INSERT INTO `matches` VALUES (7, 'Зенит-Спартак', 10, 12, 5, 2, 4, '1', '2008-06-27 15:57:36', '', '', 1);
INSERT INTO `matches` VALUES (8, 'Локомотив-Динамо', 11, 13, 1, 7, 4, '1', '2008-06-27 15:48:26', '', '', 1);
INSERT INTO `matches` VALUES (9, 'Динамо-Зенит', 13, 10, 2, 4, 4, '1', '2008-06-27 16:09:30', '', '', 2);
INSERT INTO `matches` VALUES (10, 'Спартак-Динамо', 12, 11, 1, 1, 4, '1', '2008-06-27 15:59:33', '', '', 2);
INSERT INTO `matches` VALUES (11, '23232323', 11, 8, 1, 2, 4, '1', '2008-06-27 16:50:51', '', '', 2);

   
 
 автор: Trianon   (29.06.2008 в 13:06)   письмо автору
 
   для: Микель   (29.06.2008 в 12:38)
 

SELECT commands.id_command,name_command,gs1+gs2 AS hit, ds1+ds2 AS mis
FROM commands
LEFT JOIN
  (SELECT id_command, COALESCE(SUM(score1),0) AS gs1, COALESCE(SUM(score2),0) AS ds1
    FROM commands
     LEFT JOIN matches ON id_command = id_command1
    GROUP BY id_command) AS t1 ON commands.id_command=t1.id_command
LEFT JOIN
  (SELECT id_command, COALESCE(SUM(score2),0) AS gs2, COALESCE(SUM(score1),0) AS ds2
    FROM commands
     LEFT JOIN matches ON id_command = id_command2
    GROUP BY id_command) AS t2 ON commands.id_command=t2.id_command

   
 
 автор: Микель   (29.06.2008 в 13:11)   письмо автору
 
   для: Trianon   (29.06.2008 в 13:06)
 

Trianon
Спасибо огромное.То что надо.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования