|
|
|
Сложный запрос с заменой данных
|
|||
|---|---|---|---|
|
#18+
Доброго дня форумчане. Двух недельная попытка решить задачу всё таки заставила меня написать на форуме. Задача: Есть Таблица с 3-мя столбцами 'kv' (квитанция, int(6) ), 'fio' (ФИО, varchar(50) ), 'sum' (сумма, int(5)). Пример таблицы: kvfiosum800001Иванов500800002Сидоров400800002Сидоров600800002Сидоров100800003Пупкин200800003Пупкин0800004Козлов1000 Необходимо получить таблицу в виде: kvfiosumsum800001Иванов500500800002Сидоров400 Сидоров600 Сидоров1001100800003Пупкин200 Пупкин0200800004Козлов10001000 т.е необходимо убрать повторяющиеся квитанции ('kv'), и вывести столбец с суммой одинаковых квитанций. Я решил задачу в Delphi, но мне необходима именно решить с помощью запроса. Решение в Delphi: Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 09:19:56 |
|
||
|
Сложный запрос с заменой данных
|
|||
|---|---|---|---|
|
#18+
Это не задача работы с данными, это задача отображения данных. Её должен решать не сервер БД, а клиент. Единственное, чем сервер может помочь в этой задаче - это если использовать GROUP BY ... WITh ROLLUP, то он посчитает итоговые суммы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 11:23:57 |
|
||
|
Сложный запрос с заменой данных
|
|||
|---|---|---|---|
|
#18+
Akina, а вообще теоретический возможно решить данную задачу именно через запрос? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 11:42:48 |
|
||
|
Сложный запрос с заменой данных
|
|||
|---|---|---|---|
|
#18+
Да. Но не надо этого делать. Именно по идеологическим мотивам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 11:56:21 |
|
||
|
Сложный запрос с заменой данных
|
|||
|---|---|---|---|
|
#18+
Akina, идеологию того что нельзя быть быдлокодером я знаю, и идеологию того что нельзя решать задачи через проход что сзади. Но данную задачу мне надо решить именно через запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 12:19:51 |
|
||
|
Сложный запрос с заменой данных
|
|||
|---|---|---|---|
|
#18+
Венер Нафиков , проблема в том, что в SQL нет понятия "номер строки" Даже с обработкой в клиенте - без указания ORDER BY нет гарантии, что в результате select * from mytable данные каждый раз будут в одинаковом порядке. Поэтому в том виде, как вы указали - такой возможности в SQL нет в принципе. Вот тяжеловесный вариант решения с использованием временной таблицы, но все же - построение аналитических отчетов - дело клиента, а не SQL-сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.02.2014, 15:06:06 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=38555784&tid=1835242]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 210ms |
| total: | 336ms |

| 0 / 0 |
