Rambler's Top100
Форум: MS ACCESSVBVBA MS OfficeMS SQL server
Новые сообщения: 0000

Форум: MS ACCESS

Вопросы связанные с MS ACCESS

Обновить визитку
Участники «Online»
Все участники

 
 

Доброго времени суток, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: нужна помощь в запросе
 
 автор: ars_bs   (14.01.2011 в 06:23)   личное сообщение
 
 

всем доброго времени суток, не могу догнать как сделать правильно запрос
есть такая таблица
номер чека | кол. тов в чеке| общая цена чека

ну жно получить вот такую перекрестную таблицу
______________________| общее кол.| до 1000 руб| от 1000 до 2000| от 2000 до 3000
кол. товаров с 1 товаром |
кол. товаров с 2 товарами |

  Ответить  
 
 автор: shanemac51   (14.01.2011 в 08:02)   личное сообщение
 
 


номер чека | кол. тов в чеке| общая цена чека



а где здесь товар1 товар2 ......

  Ответить  
 
 автор: Дядя Федор   (14.01.2011 в 08:23)   личное сообщение
 
 

Что-то сильно напоимнает задачу про возрастные группы...
см.
http://hiprog.com/forum/read.php?id_forum=1&id_theme=8139&page=5

  Ответить  
 
 автор: ars_bs   (14.01.2011 в 08:50)   личное сообщение
 
 

т.к. данные нужны быстро, все сделал в экселе, но над этим вопросом нужно подумать

  Ответить  
 
 автор: snipe   (14.01.2011 в 08:58)   личное сообщение
 
 

http://hiprog.com/forum/read.php?id_forum=1&id_theme=8049&page=2

  Ответить  
 
 автор: shanemac51   (14.01.2011 в 09:42)   личное сообщение
 
 


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 [кол_тов в чеке]
;

  Ответить  
 
 автор: Силblч   (14.01.2011 в 11:25)   личное сообщение
 
 

может так как то?

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:

  Ответить  
 
 автор: ars_bs   (17.01.2011 в 06:07)   личное сообщение
 
 

всем спасибо буду пробовать

  Ответить  
HiProg.com - Технологии программирования
Rambler's Top100 TopList