Пятница
19.04.2024
19:19
Приветствую Вас Гость | RSS Главная | SQL - Форум | Регистрация | Вход
Мини-Чат
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Форум » За властью кольца » Летний сад » SQL (нужна консультация)
SQL
ЛалДата: Среда, 19.10.2011, 15:20 | Сообщение # 1
Группа: Новобранцы
Сообщений: 157
Статус: Offline
Нужен терпеливый человек, разбирающийся в построении sql-запросов,по учебе нужно,так что не думаю,что там будет что-то архи сложное для знающих smile
 
ВевДата: Среда, 19.10.2011, 15:42 | Сообщение # 2
Группа: Родичи
Сообщений: 1231
Статус: Offline
конкретно что ? в Access, Delphi и т.д, мне кажется смогу помочь

Сказки про Змея Горыныча убедительно доказали: чем ты головастей, тем больше охотников с тобой разделаться.
 
ЛалДата: Среда, 19.10.2011, 16:14 | Сообщение # 3
Группа: Новобранцы
Сообщений: 157
Статус: Offline
Там без конкретных программ.
У нас наибольшее затруднение вызвала следующая задача:
Указать для каждой декады месяцев, где производились продажи.Выводить декаду, номер месяца,сумму продаж
1 декада с по10
2 декада с 11 по 20
3 декада с 21 по 31
Для каждой декады вывести суммы продаж,показать номер декады,сумму продаж

Из самих данных - таблица sales
Со столбцами
Стоимость единицы товара - price
Количество проданного товара - kolichestvo
Дата продажи-data


Сообщение отредактировал Лал - Среда, 19.10.2011, 16:15
 
ВевДата: Среда, 19.10.2011, 16:31 | Сообщение # 4
Группа: Родичи
Сообщений: 1231
Статус: Offline
Всего два столбца? 1 ключ строки, 2 наименование товара, стоимость, поступило, дата поступления, дата продаж, продано, цена продаж, это как минимум.
Что за товар или без разницы?
какой минимальный ( месяц, квартал, год) период БД?
А лучше скинь подробно условия задачи.
Таблицу в какой проге набивали?



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

Сообщение отредактировал Вев - Среда, 19.10.2011, 16:49
 
СпайниДата: Среда, 19.10.2011, 16:46 | Сообщение # 5
Группа: Администраторы
Сообщений: 531
Статус: Offline
если не париться сильно, я бы тупо написал такой запрос:

SELECT "1" as dekada, month(data) as month, sum(price*kolichestvo) as total FROM `sales` WHERE day(data)<11 GROUP by 2 UNION
SELECT "2" as dekada, month(data) as month, sum(price*kolichestvo) as total FROM `sales` WHERE day(data)>10 AND day(data)<21 GROUP by 2 UNION
SELECT "3" as dekada, month(data) as month, sum(price*kolichestvo) as total FROM `sales` WHERE day(data)>20 GROUP by 2 ORDER BY 2,1


Anonymous Mail. Deferred Mail. Delayed Mail.
Анонимная Доставка Электронной Почты
Отложенная Доставка Электронной Почты
 
ВальдинДата: Среда, 19.10.2011, 16:53 | Сообщение # 6
Группа: Родичи
Сообщений: 830
Статус: Offline
Книжка вот может будет полезна http://www.proklondike.com/books....ih.html
 
ЛалДата: Среда, 19.10.2011, 17:11 | Сообщение # 7
Группа: Новобранцы
Сообщений: 157
Статус: Offline
К сожалению подробно условия предоставить не могу,т.к. лабораторная написана в виде специальной программы (дипломная работа одного из выпускников института), доступ к которой мы получаем непосредственно на самой паре

По идее будет нечто типа
Select summa_prodazh,Nomer_dekady
From sales
А дальше я так понимаю нужно разбить на декады и в каждой, если стоимость единицы*количество товара >0, делать вывод в таблицу результат, но вот как это можно сделать нам за 4 пары лекций на весь курс sql так и не объяснили(

Добавлено (19.10.2011, 17:11)
---------------------------------------------
Спайни, а как-то можно туда еще условие добавить,чтоб сумма была больше 0,т.к. интересуют именно те декады,где были продажи?
Вальдин,за книжку спасибо,попробую тоже там поискать чего-нибудь)


Сообщение отредактировал Лал - Среда, 19.10.2011, 17:11
 
СпайниДата: Среда, 19.10.2011, 17:18 | Сообщение # 8
Группа: Администраторы
Сообщений: 531
Статус: Offline
Опять же повторюсь - можно все написать красивее, но оно нам надо ?

SELECT "1" as dekada, month(data) as month, sum(price*kolichestvo) as total FROM `sales` WHERE day(data)<11 AND price>0 AND kolichestvo>0 GROUP by 2 UNION
SELECT "2" as dekada, month(data) as month, sum(price*kolichestvo) as total FROM `sales` WHERE day(data)>10 AND day(data)<21 AND price>0 AND kolichestvo>0 GROUP by 2 UNION
SELECT "3" as dekada, month(data) as month, sum(price*kolichestvo) as total FROM `sales` WHERE day(data)>20 AND price>0 AND kolichestvo>0 GROUP by 2 ORDER BY 2,1

Главное, чтобы преп понял и поверил, что сама писала smile


Anonymous Mail. Deferred Mail. Delayed Mail.
Анонимная Доставка Электронной Почты
Отложенная Доставка Электронной Почты
 
ВальдинДата: Среда, 19.10.2011, 17:39 | Сообщение # 9
Группа: Родичи
Сообщений: 830
Статус: Offline
Спайни, AS, GROUP by не слишком ли для 4-х пар лекций?
Лал, вы это проходили? А то вдруг преподаватель удивится обширностью познаний.
 
ВевДата: Среда, 19.10.2011, 17:47 | Сообщение # 10
Группа: Родичи
Сообщений: 1231
Статус: Offline
Т.е. я так понял что база данных сформирована, а вы должны только создать запрос?

Сказки про Змея Горыныча убедительно доказали: чем ты головастей, тем больше охотников с тобой разделаться.
 
ЛалДата: Среда, 19.10.2011, 18:02 | Сообщение # 11
Группа: Новобранцы
Сообщений: 157
Статус: Offline
Спайни,спасибо)
Вальдин,у нас весь курс идет из 5 пар:) Нам еще преподаватель дал ссылку на сайт с упражнениями для самостоятельного изучения,да и вечерники мы - по идее должны большую часть сами изучать smile
Вев,да именно так:)
 
СпайниДата: Среда, 19.10.2011, 18:07 | Сообщение # 12
Группа: Администраторы
Сообщений: 531
Статус: Offline
Не, как раз все очень просто - три простейших запроса, объединенных через UNION + конечная сортировка результата.
По условию задачи там без GROUP не обойтись, а AS - он же вообще безобидный - просто именует столбец smile


Anonymous Mail. Deferred Mail. Delayed Mail.
Анонимная Доставка Электронной Почты
Отложенная Доставка Электронной Почты
 
Форум » За властью кольца » Летний сад » SQL (нужна консультация)
  • Страница 1 из 1
  • 1
Поиск:


Copyright Клинки Ривенделла © 2024