Mysql результаты фильтра запросов

0

Я не нахожу решения для этого и нуждаюсь в хорошем совете.

Это таблица:

Name,Status
A, 3
A, 4
B, 3

Мне нравится получать все результаты, когда Status равно 3, но никогда не получил Status = 4.

В этом примере: должен отображаться только B. Как должен выглядеть мой запрос? Спасибо!!

  • 0
    Выберите * из таблицы, где статус = 3; попробуй это
  • 1
    Это также покажет «А» - но А также имеет статус записи = 4. И не должно быть показано. Мне нравится видеть только тех, у кого нет записи = 3 И = 4. Только те, которые имеют 3 только.
Показать ещё 1 комментарий
Теги:

2 ответа

0
Лучший ответ
select t.Name
from my_table t
where t.Status in (3,4)
group by t.Status
having group_concat(t.Status) = '3'
1

Попробуй это:

Select t1.* 
from tableName t1
where t1.status =3 AND NOT EXISTS (SELECT 1 
                                   FROM TableName t2
                                   WHERE t1.Name = t2.Name AND t2.status = 4)
  • 0
    Спасибо большое! Кажется, работает!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню