Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Перекрестный запрос


Автор: yerdnA 22.6.2004, 12:48
Подскажите пожалуйста синтаксис перекрестного запроса.

Автор: Secandr 22.6.2004, 12:51
Да ...... сколько не пробовал мысли читать не получается sad.gif Ну нет среди нас телепатов sad.gif

Какая база данных?

P.S. Ну подумайте перед тем как вопрос задавать, как он со стороны читаться будет.

Автор: yerdnA 23.6.2004, 06:02
Попробую объяснить так.
Простой запрос на выборку
SELECT * FROM <TABLE_NAME>
Запрос на выборку с условием
SELECT * FROM <TABLE_NAME>
WHERE <CONDITION>
У перекрестного запроса (crosstab query) какой синтаксис?


Вот это дело сделал в Access'e при помощи мастера
TRANSFORM Sum([table1].minutes) AS SumOfminutes
SELECT [table1].telno, [table1].filldate
FROM [table1]
GROUP BY [table1].telno, [table1].filldate
PIVOT [table1].depname;


Теперь понятно объяснил?

Автор: yerdnA 23.6.2004, 06:33
http://books.kulichki.net/data/access/as1/Glava%208/Index9.htm
подробоности что это такое
Добавлено @ 06:40
бд на MySQL

Автор: Secandr 23.6.2004, 07:55
с mySQL помочь можно. Поставте конкретную задачу: такая-то структура запроса, нужен вот такой результат, пытался сделать вот так.

P.S. Я просто человек безграмотный, учился по манулам и плохо оперирую терминами "перекрёстные запросы", "сущности", "связи", ....

Автор: yerdnA 23.6.2004, 10:06
icq 335914416
структура таблиц

talks

filldate date not null
telno tinyint not null
minutes integer not null
depname int not null references deplist

deplist
depid int not null
depname varchar(30) not null unique

данные в таблицу talks заносятся 1 раз в месяц

query

select talks.minutes, deplist.depname, talks.filldate
from deplist, talks
where deplist.depid=talks.depid

filldate telno minutes depname
05.2004 100 87 GENEL M?D?RL?K
05.2004 108 7 GENEL M?D?RL?K
05.2004 109 115 GENEL M?D?RL?K
05.2004 111 48 GENEL M?D?RL?K
05.2004 113 12 GENEL M?D?RL?K
05.2004 114 47 GENEL M?D?RL?K
05.2004 120 30 GENEL M?D?RL?K
05.2004 123 4 GENEL M?D?RL?K
05.2004 124 77 GENEL M?D?RL?K
05.2004 137 55 GENEL M?D?RL?K
05.2004 138 9 GENEL M?D?RL?K
05.2004 177 52 GENEL M?D?RL?K
05.2004 214 2 GENEL M?D?RL?K
05.2004 220 32 GENEL M?D?RL?K
05.2004 228 2 GENEL M?D?RL?K
05.2004 229 90 GENEL M?D?RL?K
05.2004 206 4 GENEL M?D?RL?K
05.2004 234 2 GENEL M?D?RL?K
05.2004 103 144 MUHASEBE M?D?RL???
05.2004 130 66 MUHASEBE M?D?RL???
05.2004 132 3 MUHASEBE M?D?RL???
05.2004 134 1 MUHASEBE M?D?RL???
05.2004 207 243 MUHASEBE M?D?RL???
05.2004 162 64 T?CARET M?D?RL???
05.2004 197 19 T?CARET M?D?RL???
05.2004 198 11 T?CARET M?D?RL???
05.2004 233 4 T?CARET M?D?RL???
05.2004 136 12 T?CARET M?D?RL???


Нобходимо получить результат в виде таблицы

GENEL MD MUHASEBE MD. TICARET MD.
TLF.NOmin TLF.NO min TLF.NO min
100 87 103 144 162 64
108 7 130 66 197 19
109 115 132 3 198 11
111 48 134 1 233 4
113 12 207 243 136 12
114 47
120 30
123 4
124 77
137 55
138 9
177 52
214 2
220 32
228 2
229 90
206 4
234 2
Добавлено @ 10:09
butbut.gif блин таблицу нормально делал, а она похерилась
deplist
depid int not null primary key auto_increment
depname varchar(30) not null unique

Автор: yerdnA 23.6.2004, 10:47
http://books.kulichki.net/data/access/as1/Glava%208/Index9.htm
возможно ли такое в MySQL?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)