Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Пожалуйста, помогите создать запросы sql

L Знаток (264), на голосовании 4 года назад
База данных Депозиты содержит:
Табл. Клиенты: Код клиента (ключевое поле), ФИО, Адрес, телефон.
Табл. Счета: № счета, Код клиента, Код вклада, Дата открытия счета, Сумма вклада, дата окончания срока хранения.
Табл. Вклады: Код вклада (ключевое поле), Название вклада, Годовая ставка, Срок хранения.
Вывести (с использованием вложенных запросов):
1)количество вкладов с наибольшей годовой ставкой.
2) номера счетов суммы вкладов со сроком хранения 6 месяцев.
С использованием JOIN:
1. данные про вклады в порядке убывания сумм вкладов с указанием даты открытия счета, названия вклада, размер годовой процентной ставки;
2. общую сумму вкладов по каждому коду вклада с процентной ставкой выше 10%
3. данные про насчитывание процентов на текущую дату: ФИО вкладчика, дата окончания срока хранения, сумма вклада, размер годовой процентной ставки, сумма насчитаных процентов.
создать в базе данных депозиты процедуру с параметром (дата открытия счета), которая будет выбирать номера счетов и ФИО, которые открывали счета до какой-то даты. Вывести эти данные
Голосование за лучший ответ
Евгений Леонов Профи (816) 4 года назад
Лови таблицы.

CREATE TABLE IF NOT EXISTS client
(client_id INTEGER, fio INTEGER, addr TEXT, tel TEXT, PRIMARY KEY(client_id));

CREATE TABLE IF NOT EXISTS account
( bank_id INTEGER, client_id INTEGER, investment_code INTEGER, open_date TEXT, investment_ammount INTEGER, close_date TEXT, PRIMARY KEY(investment_code));

CREATE TABLE IF NOT EXISTS investment
( investment_code INTEGER, investment_name TEXT, year_rate REAL, investment_duration INTEGER, PRIMARY KEY(investment_code));
Евгений ЛеоновПрофи (816) 4 года назад
2.3 и процедуры пусть поможет кто-нибудь другой

CREATE TABLE IF NOT EXISTS client
(client_id INTEGER, fio INTEGER, addr TEXT, tel TEXT, PRIMARY KEY(client_id));

CREATE TABLE IF NOT EXISTS account
( bank_id INTEGER, client_id INTEGER, investment_code INTEGER, open_date TEXT, investment_ammount INTEGER, close_date TEXT, PRIMARY KEY(investment_code));

CREATE TABLE IF NOT EXISTS investment
( investment_code INTEGER, investment_name TEXT, year_rate REAL, investment_duration INTEGER, PRIMARY KEY(investment_code));

1)количество вкладов с наибольшей годовой ставкой.
SELECT COUNT(i.year_rate) FROM account a
JOIN investment i USING(investment_code)
WHERE i.year_rate IN
(
SELECT MAX(i.year_rate) FROM investment i
);

2) номера счетов суммы вкладов со сроком хранения 6 месяцев.
Евгений Леонов Профи (816) 2.1 SELECT a.bank_id, a.open_date, i.investment_name, i.year_rate FROM account a JOIN investment i USING(investment_code) WHERE i.investment_duration = 6 ORDER BY i.investment_ammount DESC 2.2 SELECT i.investment_code, SUM(a.investment_ammount) FROM investment i JOIN account a USING(investment_code) WHERE i.year_rate > 10 GROUP BY i.investment_code;
Похожие вопросы