Задать вопрос
Recosh
@Recosh
Программист студент

Как правильно составить SQL запрос для MySQL?

Есть табличка с данными
1c5509a2280f4cbbb1dc3376902df5ae.png
Как составить SQL запрос что бы получить id_item 2 и id_item 4?
То есть я хочу достать значения id_item, где prop = naz1 и val = 1 и одновременно где prop = naz2 и val = 2
  • Вопрос задан
  • 229 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java-разработчик
    8 месяцев
    Далее
  • Shultais Education
    Основы SQL
    3 месяца
    Далее
  • OTUS
    PHP Developer. Professional
    5 месяцев
    Далее
Решения вопроса 1
Melkij
@Melkij
DBA для вашего PostgreSQL?
select id_item from tablename where (prop = 'naz2' and val = 2) or (prop = 'naz1' and val = 1)
group by id_item
having count(0)=2

Для корректной работы требуется уникальный индекс по сочетанию полей prop и val

Или другой вариант:
select id_item from tablename t1
join tablename t2 using(id_item)
where (t2.prop = 'naz2' and t2.val = 2) and (t1.prop = 'naz1' and t1.val = 1)
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
sbh
@sbh
Таблицу сами делали? для чего столбец id_item?
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы