Общие > Базы данных
Задачка не для слабых ....
listopad:
Есть база данных MySQL , в ней девять таблиц , в каждой таблице есть столбец вида
zodiac enum(\\"0\\",\\"1\\",\\"2\\",\\"3\\",\\"4\\",\\"5\\",\\"6\\",\\"7\\",\\"8\\",\\"9\\",\\"10\\",\\"11\\",\\"12\\")(на слеши не обращайте внимания , Php виновата)-т.е имеется виду 12 знаков зодиаков и один пустой, и соответственно пользователь добавляет свое имя и указывает свой знак зодиака... т. е. получается запись вида
сергей-7 (оба значения в разных столбцах конечно, 7 -иммеется в виду "скорпион") но дело не в этом..... здесь все как обычно и все понятно...
Но надо создать такой запрос который показывал бы сколько записей соответсвуют каждому знаку зодиака из всех девяти таблиц.....
$sql="
SELECT zodiac,COUNT(*) AS count FROM tabl1
GROUP BY zodiac ORDER BY count ASC";
- нодо что-то наподобие этого запроса , но сразу по 9 таблицам:insane:
fidget:
listopad
боюсь что одним запросом не обойдешься :(
Делай выборку из таблиц и записывай во временную, а потом результирующую выборку сделаешь по временной таблице.
Ganer:
А что у тебя все 9 таблиц одного формата ???? Интересно бы услышать причину (она наверника веская ;) )
А в MySQL нельзя так писать ?
select count(*) from (
select ...
UNION
select ...
UNION
) group by ...
Alexandr:
--- Цитировать ---А в MySQL нельзя так писать ?
--- Конец цитаты ---
Только в 4, а о нём с пол-годика мона не вспоминать.
fidget:
Ganer
UNION есть в 4.0, только насколько я помню по стандарту SQL 99 GROUP BY на всё выражение там кажется не применяется, только на каждый из SELECT\'ов
так что наверное UNION все равно не подойдет :-)
Навигация
Перейти к полной версии