Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ПОМОГИТЕ! sql запрос 
:(
    Опции темы
Адель
Дата 26.9.2005, 12:21 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Пожалуйста помогите запрос написать, не используя представления.

Вывести блюдо, имеющее минимальную калорийность.

Есть две таблицы: Bluda и Producty. Таблица Sostav - ассоциативная таблица между ними.
Таблица Bluda содержит поля Bludo, Vid и первичный ключ bl.
Таблица Producty содержит поля Product, belki, Zhyry, yglevody и первичный ключ pr.
Ассоциативная таблица Sostav содержит поля: внешний ключ bl, внешний ключ pr и поле ves.

Вот запрос, который выводит калорийность каждого блюда:
select bludo, sum(((belki+yglevody)*4.1+zhyry*9.3)/1000*ves)
from producty, sostav, bluda
where bluda.bl=sostav.bl and sostav.pr=producty.pr
group by bludo;


p.s. IBConsole 6
  Вверх
Alex
Дата 26.9.2005, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 4147
Регистрация: 25.3.2002
Где: Москва

Репутация: 7
Всего: 162



Если ничего не напутал, то результат запроса будет отсортирован по второму полю (по возрастанию) и в первой записе будет нужное тебе блюдо
Код

select bludo, sum(((belki+yglevody)*4.1+zhyry*9.3)/1000*ves) as kalor
from producty, sostav, bluda
where bluda.bl=sostav.bl and sostav.pr=producty.pr
group by bludo
order by 2;

Добавлено @ 12:56
Если мой метод подходит, то можно ограничит результат запроса, что бы он выдавал только одну строку. Как это сделать смотри здесь http://forum.vingrad.ru/index.php?showtopic=57108


--------------------
Написать можно все - главное четко представлять, что ты хочешь получить в конце. 
PM Skype   Вверх
Адель
Дата 27.9.2005, 18:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











СПАСИБО! У меня все заработало. smile
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0414 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.