|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
38300
|
|