powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Помогите создать перекрестный запрос
16 сообщений из 16, страница 1 из 1
Помогите создать перекрестный запрос
    #32343976
Qatro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таблица с 3 полями: №счета, дата, сумма. Для одного счета - 4 записи
Как сделать перекресный запрос, чтобы выводилось:
в одной строке: ячейка1 - №счета, ячейка2 - дата, ячейка3 - сумма, ячейка4 - дата и т.д.?
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32343989
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Один перекрестный запрос только с датами. Второй только с суммами. А потом взять поля из обоих.
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32344048
Qatro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Бли-и-ин!
Это сколько же такая сборка грузиться будет?
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32344055
Qatro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробовал, получаю сообщение: Слишком много столбцов.
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32344062
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Тогда можно в одном поле сцепить дату с суммой и только его и поместить в перекрестный...
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32344066
Qatro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сцепить - это как?
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32344068
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
format(дата, "dd.mm.yyyy") & " " & cstr(сумма)
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32344095
Qatro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да всё тоже самое.......
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32344140
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А эти 4 записи пронумерованы 1, 2, 3, 4? Есть ли поле, которое их отличает друг от друга? И если да, то есть ли у этого поля 4 постоянных значения, которые повторяются в каждой четверке?
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32344426
Qatro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Логика такая: для каждого счета есть 4 даты оплаты (то бишь - счет можно оплатить в 4 приема). Соответственно, на каждую дату есть поле сумма. Итого: 8. Счет может быть оплачен хоть за один раз - в этом случае оставшиеся 6 полей останутся пустыми. Каждая четверка записей имеет одинаковое значение в первой ячейке - собственно сам № счета. Почему таблица изначально не строилась "в ширину" - теперь уже не узнаешь.
Для отчета нужно вывести сведения по оплате счетов в табличном виде, т.е в первой ячейке сам счет и далее 4 пары ячеек(дата + сумма).
Пробовал выводить только счет + дата или счет + сумма. Все равно получаю сообщение, что столбцов слишком много.
Если таблица не может иметь более 255 столбцов, то получается, что мой запрос пытается в одну запись запихнуть число столбцов > 255?
Где ж он столько берет-то?
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #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
Помогите создать перекрестный запрос
    #32351928
big-spoon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2Владимир Саныч
И как такое можно построить?
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #32351952
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
А поля действительно нет? Мне кажется, что VIG когда-то предлагал решение для похожей задачки.
...
Рейтинг: 0 / 0
Помогите создать перекрестный запрос
    #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
Помогите создать перекрестный запрос
    #32351972
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
VIGСаныч,у тебя память лучше чем у меня. Я ничего подобного не помню
Я не уверен, что это был ты. Однако идея была очень похожа на ту, что ты предложил сейчас.

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


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