Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2014, 12:18   #1
H[o][o]K
 
Регистрация: 15.12.2007
Сообщений: 3
По умолчанию Создание запросов на SQL

Здравствуйте, форумчане, нужна помощь в создании трех запросов. Сам писал только в универе, да и то пару семестров. Сегодня бился полдня, так и не осилил, видимо, мои познания были весьма скудными.

Задание:

Дано 3 таблицы.

Справочник контрагентов [ Contragents ]:
- ID [id]
- Официальное наименование [name]
- Псевдоним [full_name]
- Город регистрации [town]
- Юридический адрес [address]

Шапка накладной [ Consignments ]:
- ID [id]
- Номер накладной [number]
- Дата накладной [date]
- ID продавца [id_seller]
- ID покупателя [id_buyer]

Строки накладной [ Consignment_goods ]:
- ID [id]
- ID накладной [id_consigment]
- Наименование товара [name]
- Количество [count]
- Цена (с НДС) [price]
- Ставка НДС [rate]

Необходимо написать 3 запроса для выбора данных из БД:

1) сумма с НДС, сумма без НДС и сумма НДС для выбранного поставщика.
Данные должны быть представлены поквартально за последний год.
2) Покупатель, среднее количество строк накладной, средняя наполняемость строки накладной (среднее количество товара), средняя цена С НДС, средняя сумма продаж по накладным (с НДС) в день.
Данные должны быть представлены помесячно по каждому покупателю
3) Покупатель, Номер накладной, Сумма с НДС, количество строк.
Данные должны быть представлены для накладной, имеющей максимальную сумму с НДС за последний день.
H[o][o]K вне форума Ответить с цитированием
Старый 20.03.2014, 15:15   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

1. поставки выбранного поставщика
Код:
select количествo, НДС, ценаcНДС, ценаcНДС-НДС as безНДС, датадокумента
from строки_накладной
inner join шапка on строки.id_шапки =шапка.id
inner join поставщик on шапка.id_поставщик =поставщик.id
where поставщик.? = ?
2. группировка данных вычисление сумм по поставщикам
Код:
select  поставщик.name, sum(количество*ценаНДС)
....
group by поставщик.name
3. группировка поквартально имена функций зависят от СУБД (дано для MS SQL)
Код:
group by case when month(дата) in (1,2,3) then 1 when month(дата) in (4,5,6) then 2 ... else 0 end
Для знакомства с SQL Мартин Грубер Понимание SQL
программа — запись алгоритма на языке понятном транслятору
evg_m вне форума Ответить с цитированием
Старый 20.03.2014, 15:46   #3
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

и для вопросов по SQL - есть отдельный раздел.
ADSoft вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Создание SQL запросов, на платформе Sitex TeleSky SQL, базы данных 0 07.10.2013 11:05
упрощение SQL запросов Frosts SQL, базы данных 8 30.05.2011 23:49
12 SQL-запросов Best Programmist Microsoft Office Access 7 12.12.2009 20:46
несколько запросов SQL Arteom БД в Delphi 3 09.09.2007 23:39