|
|
|
| всем доброго времени суток, не могу догнать как сделать правильно запрос
есть такая таблица
номер чека | кол. тов в чеке| общая цена чека
ну жно получить вот такую перекрестную таблицу
______________________| общее кол.| до 1000 руб| от 1000 до 2000| от 2000 до 3000
кол. товаров с 1 товаром |
кол. товаров с 2 товарами | | |
|
| |
|
|
|
|
номер чека | кол. тов в чеке| общая цена чека
|
а где здесь товар1 товар2 ...... | |
|
| |
|
|
|
| Что-то сильно напоимнает задачу про возрастные группы...
см.
http://hiprog.com/forum/read.php?id_forum=1&id_theme=8139&page=5 | |
|
| |
|
|
|
| т.к. данные нужны быстро, все сделал в экселе, но над этим вопросом нужно подумать | |
|
| |
|
|
|
| http://hiprog.com/forum/read.php?id_forum=1&id_theme=8049&page=2 | |
|
| |
|
|
|
|
SELECT [кол_тов в чеке] as [количество товаров в чеке],
sum([общая цена чека]) AS [итого],
sum(iif([общая цена чека]<=1000,[общая цена чека],0)) AS [до 1000], sum(iif([общая цена чека]>1000 and [общая цена чека]<=2000,
[общая цена чека],0)) AS [от 1000 до 2000],
sum(iif([общая цена чека]>2000 and [общая цена чека]<=3000,
[общая цена чека],0)) AS [от 2000 до 3000],
sum(iif([общая цена чека]>3000 ,
[общая цена чека],0)) AS [св 3000]
FROM чеки
group by [кол_тов в чеке]
;
|
| |
|
| |
|
|
|
| может так как то?
TRANSFORM Sum(ccurccc.price) AS [Sum-price]
SELECT ccurccc.cnt, Sum(ccurccc.price) AS [Итоговое значение amnt]
FROM (SELECT ccurdoc.qty AS cnt, ccurdoc.price, ccurgrp.cap
FROM ccurdoc LEFT JOIN ccurgrp ON (ccurdoc.price between ccurgrp.from and ccurgrp.till)
) ccurccc
GROUP BY ccurccc.cnt
PIVOT ccurccc.cap;
|
где ccurgrp
cap________________from________________till
до 1000 руб_________0.00:___________1 000.00:
от 1000 до 2000_____1 001.00________ 2 000.00:
от 2000 до 3000_____2 001.00________ 3 000.00:
больше 3000_______3 001.00________9 999 999 999.00:
|
| |
|
| |
|
|
|
| всем спасибо буду пробовать | |
|
| |