отображение некоторых строк таблицы и отображение некоторых других строк в sql

#java #mysql #sql #spring #database

Вопрос:

У меня есть таблица со следующей информацией

ID Статус Тип
100 1 X
101 2 Y
102 3 Y
103 4 X
104 1 Y

И я хочу отобразить информацию о некоторых клиентах, за исключением клиентов, чей статус равен 1, и их тип X

 select c from client c 
where c.status = 1 or c.status = 3 and c.status !=1 and c.type !=x 
 

Например, в этой таблице показаны только клиенты 101, 102 и 104.

Благодарный

Комментарии:

1. Почему 101, 102 и 104? Вам не нужны клиенты с типом = » X » и статусом = 1. Следовательно, должны остаться 101, 102, 103 и 104.

2. Совет: Переключитесь на стандартный SQL <> вместо этого древнего != . Чтобы избежать будущих проблем.

3. Примерные данные-это здорово, но вы также должны указать ожидаемый результат.

Ответ №1:

Исключите клиентов с c.status = 1 помощью или c.type = 'x' . Предполагается, что столбцы не являются нулевыми.

 select c.* 
from client c 
where c.status != 1 AND c.type != 'x' 
 

или

 select c.* 
from client c 
where NOT (c.status = 1 OR c.type = 'x')
 

Комментарии:

1. Я думаю , вам нужно переключиться И/ИЛИ. (Но вопрос немного неясен, поэтому я могу ошибаться.)