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

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

Вернуться   Форум программистов > Web программирование > SQL, базы данных
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2016, 02:30   #1
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию не могу придумать условие запроса

есть 2 таблицы поставки и наценка
Код:
поставки: 
N_поставки
дата_поставки 
артикул
количество
цена

Наценка:
дата_наценки
наценка
как посчитать цену с наценкой ??

если дата наценки должны быть меньше даты поставки но максимальной если несколько из них подходит по условие.

Код:
select цена*наценка/100+цена,* from поставки, Наценка where ?
П.С. если что то не так делаю то посоветуйте как будет так??
Терпение!Дежурный экстрасенс скоро свяжется с вами!
Dvoishnik вне форума Ответить с цитированием
Старый 22.04.2016, 06:51   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

По одной дате несколько наценок может быть? И их суммировать в таком случае?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 22.04.2016, 09:26   #3
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

Цитата:
И их суммировать в таком случае?
Цитата:
но максимальной если несколько из них подходит по условие.
Код:
select цена*(1 + k) 
from  поставки, ( select max(наценка)/100 as k 
                  from наценка 
                  where дата_наценки<{ <= ???} дата_поставки
               ) as maxi


Код:
select цена*(1 + ( select max(наценка)/100 as k 
                   from наценка 
                   where дата_наценки<{ <= ???} дата_поставки 
                  ) )
from  поставки
+ нужна проверка isnull(..., 0) (на случай если НЕТ подходящих наценок)
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 22.04.2016 в 09:34.
evg_m на форуме Ответить с цитированием
Старый 22.04.2016, 15:31   #4
Dvoishnik
Форумчанин
 
Регистрация: 12.02.2011
Сообщений: 808
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
По одной дате несколько наценок может быть? И их суммировать в таком случае?
нет не может

Цитата:
Сообщение от evg_m Посмотреть сообщение

Код:
select цена*(1 + ( select max(наценка)/100 as k 
                   from наценка 
                   where дата_наценки<{ <= ???} дата_поставки 
                  ) )
from  поставки
+ нужна проверка isnull(..., 0) (на случай если НЕТ подходящих наценок)
спасибо. только мне нужна максимальная дата из походявщих по условию.
а проверка не нужна я об этом в программе позабочусь.
я сделал так
Код:
SELECT *
FROM nacenka, postyplenie
WHERE nacenka.Data_nacenka<=postyplenie.data_postvk 
And (nacenka.Data_nacenka)=(SELECT max(nacenka.Data_nacenka)
FROM nacenka, postyplenie t
WHERE  nacenka.Data_nacenka<=postyplenie.data_postvk and t.n_tovara =  postyplenie.n_tovara );
Терпение!Дежурный экстрасенс скоро свяжется с вами!

Последний раз редактировалось Dvoishnik; 22.04.2016 в 21:14.
Dvoishnik вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрицы в Builder.Не могу ничего придумать. spectrum988 Помощь студентам 21 25.11.2013 15:27
Не могу придумать доработку. Rik55rus Помощь студентам 1 06.10.2012 21:13
Не придумать условие для элементов массива ShadowNecros Помощь студентам 7 14.04.2011 22:12
не могу придумать форрмулу!!! ta4ilka Microsoft Office Excel 3 11.04.2010 18:02