Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите создать перекрестный запрос / 16 сообщений из 16, страница 1 из 1
04.12.2003, 17:41
    #32343976
Qatro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Таблица с 3 полями: №счета, дата, сумма. Для одного счета - 4 записи
Как сделать перекресный запрос, чтобы выводилось:
в одной строке: ячейка1 - №счета, ячейка2 - дата, ячейка3 - сумма, ячейка4 - дата и т.д.?
...
Рейтинг: 0 / 0
04.12.2003, 17:45
    #32343989
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Один перекрестный запрос только с датами. Второй только с суммами. А потом взять поля из обоих.
...
Рейтинг: 0 / 0
04.12.2003, 18:27
    #32344048
Qatro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Бли-и-ин!
Это сколько же такая сборка грузиться будет?
...
Рейтинг: 0 / 0
04.12.2003, 18:33
    #32344055
Qatro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Попробовал, получаю сообщение: Слишком много столбцов.
...
Рейтинг: 0 / 0
04.12.2003, 18:38
    #32344062
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Тогда можно в одном поле сцепить дату с суммой и только его и поместить в перекрестный...
...
Рейтинг: 0 / 0
04.12.2003, 18:43
    #32344066
Qatro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Сцепить - это как?
...
Рейтинг: 0 / 0
04.12.2003, 18:44
    #32344068
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
format(дата, "dd.mm.yyyy") & " " & cstr(сумма)
...
Рейтинг: 0 / 0
04.12.2003, 19:08
    #32344095
Qatro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Да всё тоже самое.......
...
Рейтинг: 0 / 0
04.12.2003, 20:30
    #32344140
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
А эти 4 записи пронумерованы 1, 2, 3, 4? Есть ли поле, которое их отличает друг от друга? И если да, то есть ли у этого поля 4 постоянных значения, которые повторяются в каждой четверке?
...
Рейтинг: 0 / 0
05.12.2003, 10:33
    #32344426
Qatro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Логика такая: для каждого счета есть 4 даты оплаты (то бишь - счет можно оплатить в 4 приема). Соответственно, на каждую дату есть поле сумма. Итого: 8. Счет может быть оплачен хоть за один раз - в этом случае оставшиеся 6 полей останутся пустыми. Каждая четверка записей имеет одинаковое значение в первой ячейке - собственно сам № счета. Почему таблица изначально не строилась "в ширину" - теперь уже не узнаешь.
Для отчета нужно вывести сведения по оплате счетов в табличном виде, т.е в первой ячейке сам счет и далее 4 пары ячеек(дата + сумма).
Пробовал выводить только счет + дата или счет + сумма. Все равно получаю сообщение, что столбцов слишком много.
Если таблица не может иметь более 255 столбцов, то получается, что мой запрос пытается в одну запись запихнуть число столбцов > 255?
Где ж он столько берет-то?
...
Рейтинг: 0 / 0
05.12.2003, 12:22
    #32344630
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Нужно какое-то поле, значения которого можно использовать как заголовки столбцов перекрестного запроса. Соответственно, эти значения должны быть одними и теми же повторяющимися 4-мя. Например, если исходные данные имеют вид

А Б В
1 1 ё
1 2 п
1 3 р
1 4 с
2 1 т
2 2 ё
2 3 к
2 4 л

то можно построить перекрестный запрос

А 1 2 3 4
1 ё п р с
2 т ё к л

Если же такого поля нет, то придется как-то исхитряться.
...
Рейтинг: 0 / 0
13.12.2003, 19:39
    #32351928
big-spoon
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
2Владимир Саныч
И как такое можно построить?
...
Рейтинг: 0 / 0
13.12.2003, 21:54
    #32351952
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
А поля действительно нет? Мне кажется, что VIG когда-то предлагал решение для похожей задачки.
...
Рейтинг: 0 / 0
14.12.2003, 00:01
    #32351969
(c)VIG
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Саныч,у тебя память лучше чем у меня. Я ничего подобного не помню
Но можно сделать следующим образом
Пишем запрос
Код: plaintext
1.
2.
3.
SELECT t1.nacc, t1.dt, t1.s
FROM table14 AS t1 INNER JOIN table14 AS t2 ON (t1.dt>=t2.dt) AND (t1.nacc=t2.nacc)
GROUP BY t1.nacc, t1.dt, t1.s
HAVING count(*)= 1 ;

Назовем его q1 ( nacc-номер счета,dt-дата, s- сумма)
Составляем еще 3 аналогичных запроса меняя в каждом только строку
HAVING count(*)=2,HAVING count(*)=3,HAVING count(*)=4
(q2,q3,q4)

И как венец творения
Код: plaintext
1.
SELECT q1.nacc, q1.dt as d1, q1.s as s1, q2.dt as d2, q2.s as s2,q3.dt as d3, q3.s as s3, q4.dt as dt, q4.s as s4
FROM ((q1 LEFT JOIN q2 ON q1.nacc = q2.nacc) LEFT JOIN q3 ON q1.nacc = q3.nacc) LEFT JOIN q4 ON q1.nacc = q4.nacc;


P.S Проверено на Accsess XP
...
Рейтинг: 0 / 0
14.12.2003, 00:27
    #32351972
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
VIGСаныч,у тебя память лучше чем у меня. Я ничего подобного не помню
Я не уверен, что это был ты. Однако идея была очень похожа на ту, что ты предложил сейчас.

И кроме того, я не сомневался, что у тебя будет решение. :^)
...
Рейтинг: 0 / 0
14.12.2003, 00:47
    #32351973
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите создать перекрестный запрос
Кажется, я нашел то, что имел в виду. Может, это была не та задача?\r
\r
Хитрый запрос
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите создать перекрестный запрос / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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