@ars-bars

Как искать в базе данных SQL по группам?

Всем привет!

Имеется база данных SQL следующей структуры:
5b90d2078d31a271650719.png

В базе хранятся марки сплавов. У каждой марки есть список хим. элементов, а также минимальное и максимальное содержание этих элементов в этой марке.

Далее вводная: есть результаты по элементам, например такие:
Ag - 0.007
B - 0.002
Fe - 0.06
Cu - 0.01

Как сформировать поиск по маркам в БД, чтобы определить какой марке они соответствуют?
В вводной нет Mg, но мы должны тем не менее получить ответ — Запись №2.
  • Вопрос задан
  • 74 просмотра
Решения вопроса 1
DmitriyEntelis
@DmitriyEntelis
Думаю за деньги
select 
   name
from table
where 
   (element = "Ag" and Min <= 0.007 and 0.007 <= Max)
   OR
   (element = "B" and Min <= 0.002 and 0.002 <= Max)
   OR
   (element = "Fe" and Min <= 0.06 and 0.06 <= Max)
   OR
   (element = "Mg" and Min <= 0.025 and 0.025 <= Max)
   OR
   (element = "Cu" and Min <= 0.01 and 0.01 <= Max)
group by Name
having count(ID) = 5

где 5 - количество условий
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы