0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 3
|
|
1 | |
Запрос с вычисляемыми условиями01.06.2015, 11:35. Показов 2013. Ответов 4
Метки нет (Все метки)
Здравствуйте!
Новичок в SQL, помогите решить задачу. Даны 2 таблицы: @T1 (Id – ID клиента, Credit – размер кредита), @T2 (Id – ID клиента, Sum – сумма покупки, Date – дата покупки, Name - наименование покупки). Необходимо написать запрос, результатом которого будет таблица с покупками всех клиентов, отсортированная в обратном хронологическом порядке. В этой таблице должны отобразиться только те покупки, на которые хватит кредита. Причем, в последней строке для каждого клиента должна быть указана не сумма покупки, а остаток кредита. Т.е. если в первую таблицу внести строку (1, 24), а во вторую таблицу добавить записи, например: 1, 5, '10.24.2005', 'хлеб' 1, 9, '10.19.2005', 'молоко' 1, 3, '10.22.2005', 'гречка' 1, 8, '10.04.2005', 'колбаса' 1, 6, '10.18.2005', 'огурец' 1, 5, '09.29.2005', 'холодец' 2,.... То в результате должно получиться следующее: 1 2005-10-24 00:00:00 5.00 хлеб 1 2005-10-22 00:00:00 3.00 гречка 1 2005-10-19 00:00:00 9.00 молоко 1 2005-10-18 00:00:00 6.00 огурец 1 2005-10-04 00:00:00 1.00 колбаса 2 .... и далее строки по следующим клиентам. Сам решил через использование двух курсоров (один вложен в другой), но выполняется запрос долго. Да и как-то громоздко очень. Будто чешу правое ухо левой пяткой. Чую, что можно много оптимальнее сделать, а базы нет, поэтому понять как не могу. Подскажите, как можно сделать или хотя бы в какую сторону думать?
0
|
01.06.2015, 11:35 | |
Ответы с готовыми решениями:
4
Запрос на выборку с условиями Запрос с условиями в Where и Order By Запрос с условиями по выводу значений Сложный вложенный запрос с несколькими условиями |
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
|
|
01.06.2015, 12:31 | 2 |
Стандартная задача на нарастающий итог, он же running total. Способы реализации зависят от версии сервера.
1
|
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 3
|
|
02.06.2015, 08:37 [ТС] | 3 |
Просмотрел про нарастающий итог информацию. В принципе более-менее понятно. Не очень понимаю как сделать следующее:
Работаю в SQL Server 2008.
0
|
3499 / 2083 / 742
Регистрация: 02.06.2013
Сообщений: 5,078
|
||||||
02.06.2015, 10:55 | 4 | |||||
Сообщение было отмечено Metall_Version как решение
Решение
1
|
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 3
|
|
02.06.2015, 11:00 [ТС] | 5 |
Огромное спасибо, буду разбираться!
0
|
02.06.2015, 11:00 | |
02.06.2015, 11:00 | |
Помогаю со студенческими работами здесь
5
Как правильно выглядит запрос с двумя и более условиями? Расширенный фильтр с вычисляемыми условиями Запрос с вычисляемыми полями Запрос с вычисляемыми полями Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |