Операторы множественной длины

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

Я запускаю базу данных MySQL, и я хочу написать запрос, который включает в себя более одного определения длины.

Таблица имеет столбцы nationalityи ID. Я хочу написать запрос, в котором результаты возвращают только строки, где национальность = '1' с длиной идентификатора = '8' и nationality = not '1' с длиной идентификатора = '4'.

Надеюсь, вы поняли!

Благодаря!

mysql,

-2

Ответов: 2


0
drop table if exists t;
create table t (id varchar(8), nationality int);
insert into t values
('aaaa',1),('defghijk',1),('bbbb',2),('nopqrstu',2);

select t.*
from    t 
where (length(id) = 8 and nationality = 1) or (length(id) = 4 and nationality <> 1);

обратите внимание на использование скобок.


-1
SELECT *
FROM tablename
WHERE nationality = 1
AND LEN(ID) = '4'
UNION
SELECT * 
FROM tablename
WHERE nationality <> 1
AND LEN(ID) = '8'

Вы можете попробовать выполнить запрос.

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