Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Помогите с непростым запросом (KnalB) 15/04/2011 - 17:46:10
      Re: Помогите с непростым запросом (Akina) 15/04/2011 - 21:57:10
      Re: Помогите с непростым запросом (KnalB) 18/04/2011 - 14:42:40



From: KnalB - 15/04/2011 - 17:46:10
Subject:Помогите с непростым запросом
-----------------
Здравствуйте!

Что-то я совсем заработался, помогите составить сложный запрос.

Есть ТРИ таблицы, в одной есть 100 человек, в другой 30, в третьей 110 (причем люди в них иногда пересекаются, иногда новые добавляются). У каждого человека есть СУММА ОЧКОВ.
Надо написать запрос чтобы получилась такая выборка:

Человек СУММА из первой таблицы, СУММА из второй таблицы, СУММА из третьей таблицы, ОБЩАЯ СУММА отсортированное по ОБЩАЯ СУММА.

Написал как то сложно, приведу таблицы сразу понятнее станет :)

Таблицы такие:
CREATE TABLE `z`.`zd_1_stat` (
`mk1` int(11) NOT NULL AUTO_INCREMENT,
`points1` int(11) DEFAULT NULL,
PRIMARY KEY (`mk1`)
) ENGINE=InnoDB AUTO_INCREMENT=1842 DEFAULT CHARSET=cp1251;

CREATE TABLE `z`.`zd_2_res` (
`mk2` int(11) NOT NULL AUTO_INCREMENT,
`points2` int(11) DEFAULT NULL,
PRIMARY KEY (`mk2`)
) ENGINE=InnoDB AUTO_INCREMENT=1842 DEFAULT CHARSET=cp1251;

CREATE TABLE `z`.`zd_3_yes` (
`mk3` int(11) NOT NULL AUTO_INCREMENT,
`points3` int(11) DEFAULT NULL,
PRIMARY KEY (`mk3`)
) ENGINE=InnoDB AUTO_INCREMENT=1842 DEFAULT CHARSET=cp1251;

//сюда заносятся все люди, а в таблицы выше - "ключи" из этой.
CREATE TABLE `z`.`people` (
`mk` int(11) NOT NULL AUTO_INCREMENT,
`FIO` varchar(20) DEFAULT NULL,
PRIMARY KEY (`mk`)
) ENGINE=InnoDB AUTO_INCREMENT=1842 DEFAULT CHARSET=cp1251;

на выходе надо получить:

select FIO, points1, points2, points3, pointsSUMM

причём строчка для FIO должна быть даже если человек один раз только "отметился", т.е. скажем в points1 и points2 - null.


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
38300



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |