Рейтинг:
12
Wendelius
Если я правильно понимаю ваш вопрос, возможно, что-то вроде следующего, которое использует коррелированный подзапрос. Я предполагаю, что дата вступления в силу означает вступление в силу до тех пор, пока. Если он эффективен с тех пор, то условие больше, чем должно быть меньше, и MIN должно быть заменено на MAX.
SELECT b.drug_id,
a.customer_id,
b.drug_price,
a.date_order
FROM order a
LEFT JOIN drug_catalog b ON a.drug_id = b.drug_id
WHERE b.date_effective = (SELECT MIN(b2.date_effective)
FROM drug_catalog b2
WHERE b2.drug_id = a.drug_id
AND b2.date_effective >= a.date_order)
Просто интересно, правильный ли порядок таблиц в левом соединении...
terzasek
Здравствуйте, спасибо за помощь. Но этот запрос, как фокус Макс каждого drug_price.
Не могли бы вы прислать мне еще одно предложение?
Спасибо.
Wendelius
Я так понимаю, что date_effective средство эффективное от чего?
Если это так, то, как уже было сказано, измените условие в подзапросе. Иначе говоря
SELECT b.drug_id,
a.customer_id,
b.drug_price,
a.date_order
FROM order a
LEFT JOIN drug_catalog b ON a.drug_id = b.drug_id
WHERE b.date_effective = (SELECT MAX(b2.date_effective)
FROM drug_catalog b2
WHERE b2.drug_id = a.drug_id
AND b2.date_effective <= a.date_order)
terzasek
Мне очень жаль, но это единственный способ объяснить ожидаемый результат, пожалуйста, проверьте эту ссылку. Спасибо.
https://drive.google.com/open?id=1BQwrMue4K6PNovYI8QZ3pGtZFKi3-CLi
CHill60
Я уже устал говорить вам, чтобы вы не размещали ссылки на фотографии - поместите информацию в вопрос. Многие сайты (например, упомянутый выше) блокируются корпоративными брандмауэрами. Мы помогаем на этом форуме в свободное время - часто на работе.
Не прислушиваясь к моим советам, вы просто уменьшаете число людей, которые мочь помощь.
Также имейте в виду, что в вашем посте есть ссылка на улучшение вопроса - не публикуйте новый вопрос только для добавления информации
terzasek
Ладно,я понимаю.
Wendelius
Вы пробовали второй запрос, который я написал? Насколько я вижу, это дает результат, описанный в вопросе, или я что-то упускаю?
terzasek
Да, я попробовал это сделать и подумал, что этот запрос неверен, но на самом деле он работает.
Я должен признать, что был неправ.
Wendelius
Рада, что вы получили его решена.