Форум: "Прочее";
Текущий архив: 2010.12.19;
Скачать: [xml.tar.bz2];
ВнизКросс-отчет в FastReport Найти похожие ветки
← →
kirat © (2010-09-09 16:15) [0]Извините если не в тему. Столкнулся с проблемой. Есть 3 таблички
CREATE TABLE CLIENT (
ID INTEGER,
NAME_S VARCHAR(30),
MEMO VARCHAR(50)
);
ID NAME_S MEMO
1 Klient1
2 Klient2
3 Klient3
4 Klient4
5 Klient5
CREATE TABLE TOVAR (
ID INTEGER,
NAME_S VARCHAR(30)
);
ID NAME_S
1 Tovar1
2 Tovar2
3 Tovar3
4 Tovar4
5 Tovar5
CREATE TABLE PRICE (
ID INTEGER,
IDCLIENT INTEGER,
IDTOVAR INTEGER,
CENA INTEGER,
KOL NUMERIC(15,2)
);
ID IDCLIENT IDTOVAR CENA KOL
1 1 1 12,00 1,00
2 1 4 13,00 2,00
3 2 5 14,00 3,00
4 3 2 151,00 4,00
5 3 3 16,00 5,00
6 4 2 17,00 6,00
7 4 1 178,00 7,00
8 5 2 8,00 8,00
9 5 3 7,00 9,00
10 5 4 6,00 10,00
Как мне построить отчет чтобы показывало какой клиент сколько товара заказал.
Примерно в виде
[img]http://www.tarik.nm.ru/rep.JPG[/img]
Громадное спасибо!
← →
kirat © (2010-09-09 16:19) [1]http://www.tarik.nm.ru/rep.JPG
← →
kirat © (2010-09-10 13:21) [2]Ну кто нибудь ПОДСКАЖИТЕ ПОЖАЛУЙСТА!
← →
George © (2010-09-10 13:24) [3]В Microsoft SQL"ах есть инструкция TRANSFORM..PIVOT для таких целей. Вроде бы.
← →
George © (2010-09-10 13:28) [4]
> George © (10.09.10 13:24) [3]
Вру немножко, нужен просто оператор PIVOT, который есть в MS SQL Server не ниже 2005ой версии. В остальных видимо курсором бегать и преобразовывать. Я не знаю, я бы так как-то делал. Ваще че за СУБД то?
← →
Inovet © (2010-09-10 13:46) [5]Ну а чем кроссотчёт из ФР не устроил. Где, кстати, сколько заказали клиенты, это что ли TABLE PRICE?
Делай запрос модно и прямо в ФР чтобы получилось
Клиент, наименование, количество
потом в кросс ФР его и подсовывай.
← →
Inovet © (2010-09-10 13:47) [6]> [5] Inovet © (10.09.10 13:46)
> модно
можно
← →
kirat © (2010-09-10 16:33) [7]firebird 1.5 делаю я из ФР, но все накидал накидал а выдает чепуху.
← →
Inovet © (2010-09-10 16:58) [8]> [7] kirat © (10.09.10 16:33)
> firebird 1.5 делаю я из ФР, но все накидал накидал а выдает чепуху.
Что возвращает запрос проверял? И ФР-то какой версии?
← →
Kirat © (2010-09-10 18:38) [9]С кросс отчетами сталкиваюсь впервые.
Ну смотрите, если я правильно понял. Я делаю
на Query1
select client.name_s from price, client where client.id=price.idclient order by client.id
на Query2
select * from price order by idclient
В ФР ложу MasterData источник Query1, потом горизонтальный MasterData источник Query2 на пересечение ставлю Query2.Kol
Выводит мне вот такое
http://tarik.nm.ru/rep2.JPG
Что и где я не прав? Как мне его построить?
Громадное спасибо.
← →
kirat © (2010-09-10 18:40) [10]ФР Free или ФР3.24
← →
Inovet © (2010-09-10 18:50) [11]> [10] kirat © (10.09.10 18:40)
> ФР Free или ФР3.24
В FR Free не знаю, но вроде тоже есть новый кросс. В FR 3.x, 4.x есть специальный "компонент" на палитре. Вот его и пользуй. Он работает с одним набором, как я выше показал.
Имя_клиента, Имя_товара, Количество
Или больше полей, которые можно группировать по разному.
← →
boriskb © (2010-09-10 19:02) [12]Кросс отчет во ФР штука мощная и удобная.
Тем не менее пару раз мне приходилось для создания нужного отчета создавать временную таблицу.
Благо объем был удобоваримый.
То есть из нескольких таблиц выдергивал нужные поля (в том числе и вычислимые) а потом уже отчет по новой таблице делал.
← →
PEAKTOP © (2010-09-11 13:20) [13]http://sql.ru/forum/actualthread.aspx?tid=787898&pg=-1
← →
Inovet © (2010-09-11 14:04) [14]> [13] PEAKTOP © (11.09.10 13:20)
Хм.
Короче, автор, в запросе таблицу PRICE свяжи с помощью LEFT JOIN со справочными CLIENT и TOVAR, заодно и сгруппируй как надо SUM() и GROUP BY, чтобы не напрягать ФР.
← →
kirat © (2010-09-13 10:43) [15]Всем большое спасибо за помощь! Разобрался что к чему.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2010.12.19;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.004 c