powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросами
3 сообщений из 3, страница 1 из 1
Помогите с запросами
    #40052247
andgorb5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
3.1. Дано
Есть две таблицы.
Таблица счетов – accounts с полями:
• counterparty_id – идентификатор счета (поле id)
• name – название счета
• active – признак активности
Таблица проводок – transaction с полями:
• trans_id – идентификатор проводки (поле id)
• transDate – дата проведения проводки
• rcv_id – идентификатор получателя
• snd_id – идентификатор отправителя
• asset_id – идентификатор актива(рубли, доллары, акции лукойла, акции
газпрома и т.д.)
• quantity – количество передаваемого актива
3.2. Требуется
• Отобрать активные счета по которым есть проводки как минимум по двум
разным активам. Выводимые поля: counterparty_id, name, cnt(количество
уникальных активов по которым есть проводки)
• Посчитать суммарное число актива, образовавшееся на активных счетах,
в результате проведенных проводок. Выводимые поля: counterparty_id,
name, asset_id, quantity
• Посчитать средний дневной оборот по всем счетам по всем проводкам
считая, что asset_id во всех проводках одинаковый. Выводимые поля:
counterparty_id, name, oborot
• Посчитать средний месячный оборот по всем счетам по всем проводкам
считая, что asset_id во всех проводках одинаковый. Выводимые поля:
counterparty_id, name, oborot
...
Рейтинг: 0 / 0
Помогите с запросами
    #40052261
Ролг Хупин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие варианты вы уже попробвали?
давайте же вместе разберем их, да?
...
Рейтинг: 0 / 0
Помогите с запросами
    #40052265
andgorb5
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ролг Хупин,
первый запрос вроде бы так, а дальше вот туплю

select A.counterparty_id, A.Name, count(*) AS cnt
FROM (
SELECT distinct A.counterparty_id, A.Name, w.asset_id
FROM dbo.accounts A
JOIN [transaction] w ON A.counterparty_id in (w.snd_id, w.rev_id)
WHERE A.active = 1
) as A
group by A.counterparty_id, A.Name
HAVING count(*) > 1
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросами
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]