Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос SQL Server 2012  [new]
slonyra
Member

Откуда:
Сообщений: 27
Ребят, помогите решить проблему. У меня есть таблица "Кредиты" в ней есть столбцы: КлиентID,КредитID, дата подписания договора и т.д. Нужно написать запрос, который бы выводил количество действующих кредитов на момент подписания договора. То есть у клиента могут быть и другие кредиты. КредитID и КлиентID имеют разные уникальные значения. Не могу до ума довести каким образом сравнить разные значения.
12 ноя 15, 16:44    [18407384]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
slonyra,

Решение - пункт 6.
1006908
12 ноя 15, 16:52    [18407438]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
Glory
Member

Откуда:
Сообщений: 104751
slonyra
Не могу до ума довести каким образом сравнить разные значения.

И вы продемонстрируете свои попытки доведения до ума ?
12 ноя 15, 16:57    [18407487]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
slonyra
Member

Откуда:
Сообщений: 27
trew, понял. Доступа к БД сейчас нет, но попробую объяснить в excel.
надо подсчитать количество кредитов для каждого клиента.
на данном скрине у нас есть клиент 2153454555, мы видим что у него два кредита, вот нам и нужен запрос, который будет по клиентID подсчитывать количество кредитов.

К сообщению приложен файл. Размер - 3Kb
12 ноя 15, 17:06    [18407539]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
Glory
Member

Откуда:
Сообщений: 104751
slonyra
но попробую объяснить в excel.

Не надо в excel. Надо в MSSQL

slonyra
на данном скрине у нас есть клиент 2153454555, мы видим что у него два кредита, вот нам и нужен запрос, который будет по клиентID подсчитывать количество кредитов.

Что вы попробовали и что именно у вас не получилось ?
12 ноя 15, 17:07    [18407550]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
slonyra
Member

Откуда:
Сообщений: 27
Glory,
select
КредитID,
КлиентID
from
orabase.dm.Кредиты p
where
(select count(КредитID)
from
orabase.dm.Кредиты
where
[Номер_договора] = p.[Номер_договора] and
[ID_клиенты] = p.[ID_клиенты])
12 ноя 15, 17:11    [18407592]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
slonyra
Member

Откуда:
Сообщений: 27
Glory, извините, но у меня нет доступа к БД сейчас, пишу с телефона
12 ноя 15, 17:12    [18407610]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
xenix
Guest
Я или чего-то не понял или так
SELECT K.CLIENT_ID,COUNT(*)CNT
FROM dbo.Kreditten K
WHERE K.CLIENT_ID=@InClientID;
12 ноя 15, 17:14    [18407631]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
Glory
Member

Откуда:
Сообщений: 104751
Мда
Для подсчета агрегатов нужно просто использовать агрегатные функции и GROUP BY

select КлиентID, count(КредитID) 
from 
orabase.dm.Кредиты
GROUP BY КлиентID
12 ноя 15, 17:15    [18407640]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
slonyra
Member

Откуда:
Сообщений: 27
Glory,

Спасибо! Завтра попробую реализовать
12 ноя 15, 17:16    [18407651]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
Glory
Member

Откуда:
Сообщений: 104751
slonyra
Glory, извините, но у меня нет доступа к БД сейчас, пишу с телефона

Знаете, это звучит как отмазка первокласника - мою домашнюю работу съела собака.
Почему другие должны что-то делать экстра, если у вас только телефон
12 ноя 15, 17:18    [18407670]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
o-o
Guest
а по-моему, это накопительный итог.
ему же надо кол-во кредитов *на каждую конкретную дату* из имеющихся.
к каждому кредиту прилагается дата заключения договора,
ну на картинке у него так
slonyra
запрос, который бы выводил количество действующих кредитов на момент подписания договора.
12 ноя 15, 17:21    [18407696]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
Glory
Member

Откуда:
Сообщений: 104751
o-o
а по-моему, это накопительный итог.
ему же надо кол-во кредитов *на каждую конкретную дату* из имеющихся.
к каждому кредиту прилагается дата заключения договора,
ну на картинке у него так
slonyra
запрос, который бы выводил количество действующих кредитов на момент подписания договора.

А здесь написано
"на данном скрине у нас есть клиент 2153454555, мы видим что у него два кредита, вот нам и нужен запрос, который будет по клиентID подсчитывать количество кредитов."
12 ноя 15, 17:24    [18407734]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
o-o
Guest
Glory
А здесь написано
"на данном скрине у нас есть клиент 2153454555, мы видим что у него два кредита, вот нам и нужен запрос, который будет по клиентID подсчитывать количество кредитов."

я вижу, что в первом посте упоминается дата подписания договора.
ее наличие в таблице и в условии задачи.
так вот исходя из его условия и огрызыша картинки,
у того самого клиента минимум 2 кредита,
на момент подписания договора по первому у него 0 кредитов,
по второму -- один.

а что он там нагородил, почему не использовал дату и прочие вопросы -- к ТС.
я пишу о *своем* понимании задачи, иначе зачем нам подробности про дату подписания договора?
можно еще рассказать, в какого цвета доме живет клиент и сколько деревьев у него под окнами,
а спросить "сколько же лет клиенту"
12 ноя 15, 17:35    [18407826]     Ответить | Цитировать Сообщить модератору
 Re: Запрос SQL Server 2012  [new]
Glory
Member

Откуда:
Сообщений: 104751
o-o
я вижу, что в первом посте упоминается дата подписания договора.
ее наличие в таблице и в условии задачи.
так вот исходя из его условия и огрызыша картинки,
у того самого клиента минимум 2 кредита,
на момент подписания договора по первому у него 0 кредитов,
по второму -- один.

А я вижу, что не надо за ТС делать его работу по постановке задачи.
Только потому, что ему самому неудобно это делать с телефона.
12 ноя 15, 17:37    [18407844]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить