Для целей отчетности мне нужно Pivot результатов запроса, который уникален для каждой записи. Мое текущее заявление:
SELECT *
FROM Sales AS x
WHERE (select count(*) from Sales where customer_name=x.customer_name
and order_date>=x.order_date)<=5
ORDER BY customer_name, order_date, price;
Пример вывода запроса:
customer_name order_date price
Company A 2009-02-01 800
Company A 2009-03-01 100
Company A 2009-04-01 200
Company A 2009-05-01 300
Company A 2009-06-01 500
Company B 2009-02-01 100
Company B 2009-02-01 800
Company B 2009-04-01 200
Company B 2009-05-01 300
Company B 2009-06-01 500
В конечном итоге информация должна выглядеть следующим образом:
Customer_Name order_date1 price1 order_date2 price2 order_date3 price3 order_date4 price4 order_date5 price5
Company A 2009-02-01 800 2009-03-01 100 2009-04-01 200 2009-05-01 300 2009-06-01 500
Company B 2009-02-01 100 2009-02-01 800 2009-04-01 200 2009-05-01 300 2009-06-01 500
Я думаю, что мне нужно добавить столбец для "pivot_id", чтобы для каждой группировки была общая запись, чтобы результат запроса перед сводкой был похож на:
pivot_id customer_name order_date price
1 Company A 2009-02-01 800
2 Company A 2009-03-01 100
3 Company A 2009-04-01 200
4 Company A 2009-05-01 300
5 Company A 2009-06-01 500
1 Company B 2009-02-01 100
2 Company B 2009-02-01 800
3 Company B 2009-04-01 200
4 Company B 2009-05-01 300
5 Company B 2009-06-01 500
Какая статистика SQL будет генерировать автоматический номер записи для каждой покупки, но также начинаться с каждого имени клиента ??
Работа в Access 2007 с помощью построителя кода SQL. Было бы здорово, если бы решение было совместимо с Access.
Извините за длину. Заранее спасибо.