|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
Есть таблица с заказами. Поля: Клиент Сумма Дата Каким образом лучше всего получить сумму по годам в строчку, т.е. результат: Клиент 2019 2018 2017 Иванов 450руб 750руб 900руб Петров 410руб 150руб 50руб Сейчас делаю через UNION и сумму, но может можно проще? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.03.2019, 22:04 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
vklpt, стесняюсь спросить:а есть ли необходимость хранить в таблице вычисляемые поля? (она возникает крайне редко) по-моему таблиц должно быть мин.3: клиенты-кодК,все данные по клиентам заказы-кодЗ,клиент,заказ,дата главная(подчиненная заказу по кодуЗ-заказ)-код,заказ,товар,ценаЗаЕд (еще один справочник-цены),количество-при такой схеме Вы запросом с параметрами получите любые данные-кто,когда, за какой период и на какую сумму:короче, любую информацию из хранимых данных ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 00:06 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
sdku, а с чего вы взяли, что у меня вычисляемые поля хранятся? С чего вы взяли, что у меня описанных вами таблиц нет? Меня интересуют данные только из одной таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 00:32 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
Так, забудем всё что было раньше. Накидал в Борее как мне надо на примере СтоимостьДоставки: ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 00:48 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
vklpt, перекрёстный запрос не спасёт? ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 03:58 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
vklptsdku, а с чего вы взяли, что у меня вычисляемые поля хранятся? 1.с этого vklptЕсть таблица с заказами. Поля: Клиент Сумма Дата2. Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 11:19 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
vklpt, Код: sql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 11:31 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
__Michelle, а по какому полю Sum? и в том варианте что я предложил должно быть так: Код: vbnet 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 12:04 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
__Michelle, У нас традиция, каждый год, первого января, мы с друзьями переписываем запросы... Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 12:09 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
sdku, По полю Сумма. Список полей таблицы указан в стартовом сообщении темы. Там нет только названия таблицы. Я приняла "Заказы". Я Ваш вариант не рассматривала. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 12:09 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
вдогонку: я никак не вкурю-поле сумма это какая-то единичная сумма(стоимость доставки) или сумма заказа-нескольких наименований ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 12:10 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
Панург__Michelle, У нас традиция, каждый год, первого января, мы с друзьями переписываем запросы... Код: sql 1. 2. 3. 4. 5.
Первого апреля как-то приятнее.))) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 12:11 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
sdku, Думаю, полная стоимость заказа. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 12:12 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
__Michelle, полная стоимость заказа=Sum(цена*количество)-а это есть вычисляемое поле и ему не место в таблице,однако. Надоело "ванговать" и хотелось бы услышать разъяснения ТСа ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 12:53 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
sdkuэто есть вычисляемое поле и ему не место в таблице,однако.Некоторые вещи лучше фиксировать... ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 12:56 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
sdku__Michelle, полная стоимость заказа=Sum(цена*количество)-а это есть вычисляемое поле и ему не место в таблице,однако. Надоело "ванговать" и хотелось бы услышать разъяснения ТСа Самое там и место в "запросе" причем тут таблица ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 13:00 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
Итак, благодаря вам, вышло 4 варианта. Сделал замер выполнения по 5 проходов в рабочей базе (не в Борее): 1. Самый тупой вариант :D от меня: SELECT Клиент, (SELECT Sum(Сумма) FROM Заказы WHERE Year(Дата) = 2016 AND Заказы.Клиент = Клиенты.Клиент) AS 2016... Время: 2,664063 сек 2. Самый бинарный от Мишель: 22,17188 сек 3. Самый красивый от Панурга: 5,195313 сек 4. Мой любимый, но не совсем подходящий для этого случая: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13.
время 21,94531 сек Штош, тупой не значит медленный :) ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 18:05 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
vklpt, Вы бы показали БД и четко пояснили что хотите получить. Время работы,очень простого, запроса в 2 секунды(молчу о 22 секундах)явно указывает на неверно спроектированную БД (а не запрос,который либо работает нормально,либо не работает вовсе).Вышесказанное верно если Вы не перепутали секунды и милисекунды-если так,то все нормально ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 19:01 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
vklptСделал замер выполнения по 5 проходов в рабочей базе (не в Борее): а сколько в ней записей --локальная или сетевая --а может линкованный DBF ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 19:27 |
|
SQL сумма по годам в строчку
|
|||
---|---|---|---|
#18+
ПЕНСИОНЕРКА, локальная, прилинкованная, 240000 ... |
|||
:
Нравится:
Не нравится:
|
|||
01.04.2019, 20:29 |
|
|
start [/forum/topic.php?fid=45&msg=39794391&tid=1610775]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
32ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 346ms |
total: | 479ms |
0 / 0 |