powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как получить кросс-таблицу
8 сообщений из 8, страница 1 из 1
Как получить кросс-таблицу
    #32479060
AlexPretov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
может кто подскажет, либо SQL- либо php- скрипт для получения кросстаблицы.

Заранее благодарю.

________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
Как получить кросс-таблицу
    #32479257
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А поподробнее что вы вкладываете в понятие КРОССТАБЛИЦА ?

Код: plaintext
1.
SELECT a.*, b.* FROM Table_A a, Table_B b


. http://sql.ru/]mahoune
...
Рейтинг: 0 / 0
Как получить кросс-таблицу
    #32479268
Фотография fedd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
наверно типа этого\r
\r
*** Ухожу с ПТ ***
...
Рейтинг: 0 / 0
Как получить кросс-таблицу
    #32479331
AlexPretov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
на интуитивном уровне -- это таблица, колонки которой предтавляют собой значения некоторой категори, например меясца, городов, женских имен.... Типичная кросстаблица -- таблица умножения

Т.е. если я выбираю кол-во покупателей в зависимости от сезона и месторасположения магазина, то кросстаблица будет такой:
строки -- местоположение магазина
столбец -- сезон
значение (клетки таблицы) -- кол-во покупателей

отсюда главная особеннсоть кросстаблц -- кол-во столбцов зависит от данных, т.е. он заранее не известен.

________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
Как получить кросс-таблицу
    #32479425
Фотография mahoune
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это, кстати, уже тут обсудалось!
Решается при помощи генерации скрипта на лету для определения необходимых столбцов...

Сначала выбираешь необходимые сезоны (исходя из твоего примера) на этих данных создаешь скрипт и выполняешь его.

Для каждой конкретной реализации скрипт нужен уникальный - универсального наверное нет! Да он и не сложный совсем

. http://sql.ru/]mahoune
...
Рейтинг: 0 / 0
Как получить кросс-таблицу
    #32479479
Marat_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
$res=mysql_query( "SELECT сезон FROM таблица" );
$field_clause='';
for ($j= 1 ; $j<=mysql_num_rows($res) && $tmp=mysql_fetch_array($res); $j++) {
    $field_clause=  "$field_clause,sum(if(сезон='$tmp[сезон]',колво,0 ))";
}
$query= "SELECT магазин $field_clause FROM таблица GROUP BY 1  ";


Типа такого сойдет?

Жизнь коротка - потерпи немного :)
...
Рейтинг: 0 / 0
Как получить кросс-таблицу
    #32479600
AlexPretov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
идея понятна. спасибо.

одно соображение: скорее всего лучше сделать сначала агрегацию, а потом "разворачивать" таблицу.

________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
Как получить кросс-таблицу
    #32483926
AlexPretov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибочки всем, кто отозвался. Вот на главном сайте порылся, нашел, может кому тоже интересным покажется:
http://dev.mysql.com/tech-resources/articles/wizard/index.html
________________
С уважением, Alex Pretov
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как получить кросс-таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]