Я начинаю писать запросы и пытаюсь понять, что лучше всего подходит для этого. Я создал временную таблицу и написал запрос, чтобы получить следующие данные из следующих данных.Форматирование SQL-запроса для отображения по-разному
SELECT Temp.OrderType,Temp.OrderDate,COUNT(*) as prodCount
FROM Temp
GROUP BY Temp.OrderType, Temp.OrderDate
ORDER BY Temp.OrderType;
РЕЗУЛЬТАТЫ
OrderType OrderDate prodCount
1 2012-06-04 00:00:00.000 1
1 2012-06-06 00:00:00.000 1
2 2012-06-07 00:00:00.000 2
3 2012-06-05 00:00:00.000 1
3 2012-06-06 00:00:00.000 2
3 2012-06-07 00:00:00.000 1
7 2012-06-05 00:00:00.000 1
11 2012-06-07 00:00:00.000 1
Как я могу идти о, чтобы получить данные для отображения в этом формате, а не с подсчета сумм, идущих по дате? Date1 Date2 и т. Д., 6/04, 6/05, 6/06, 6/07. Любая помощь или руководство приветствуются. Спасибо вам!
OrderType Date1 Date2 Date3 Date4
1 1 1
2 2
3 1 2 1
4
7 1
11 1
SAMPLE DATA
OrderDate OrderType
2012-06-06 00:00:00.000 1
2012-06-04 00:00:00.000 1
2012-06-05 00:00:00.000 7
2012-06-05 00:00:00.000 3
2012-06-06 00:00:00.000 3
2012-06-06 00:00:00.000 3
2012-06-07 00:00:00.000 3
2012-06-07 00:00:00.000 2
2012-06-07 00:00:00.000 2
2012-06-07 00:00:00.000 3
2012-06-07 00:00:00.000 11
Какой двигатель db? SQL Server, MySQL, Oracle и т. Д. –
То, что вы ищете, обычно называется запросом «pivot» или «crosstab». Как написать, что зависит от используемой вами базы данных. –
Кроме того, поскольку ваша таблица будет продолжать получать даты (столбцы, если вы создаете запрос по своему усмотрению), я бы порекомендовал вам написать свой запрос с помощью типов заказов в виде столбцов и дат в виде строк. Ваш запрос будет намного проще и будет масштабироваться с вашими данными. – dbrosier