S'il vous plaît, aidez-moi à écrire une requête SQL avec les conditions 'NOT LIKE IN'
Select * from Table1 where EmpPU NOT Like IN ('%CSE%', '%ECE%', '%EEE%')
Obtenir une erreur.
S'il vous plaît, aidez-moi à écrire une requête SQL avec les conditions 'NOT LIKE IN'
Select * from Table1 where EmpPU NOT Like IN ('%CSE%', '%ECE%', '%EEE%')
Obtenir une erreur.
C'est parce que vous mélangez deux syntaxes ensemble.
Si vous avez toujours exactement ces trois valeurs, vous pouvez simplement ET les résultats de trois expressions LIKE.
SELECT
*
FROM
Table1
WHERE
EmpPU NOT LIKE '%CSE%'
AND EmpPU NOT LIKE '%ECE%'
AND EmpPU NOT LIKE '%EEE%'
Si vous devez le faire pour "n'importe quel nombre" de valeurs, vous pouvez mettre les valeurs dans une table et effectuer une jointure.
WITH
myData
AS
(
SELECT '%CSE%' AS match
UNION ALL SELECT '%ECE%' AS match
UNION ALL SELECT '%EEE%' AS match
)
SELECT
*
FROM
Table1
LEFT JOIN
myData
ON Table1.EmpPU LIKE myData.match
WHERE
myData.match IS NULL
OU...
WITH
myData
AS
(
SELECT '%CSE%' AS match
UNION ALL SELECT '%ECE%' AS match
UNION ALL SELECT '%EEE%' AS match
)
SELECT
*
FROM
Table1
WHERE
NOT EXISTS (SELECT * FROM myData WHERE Table1.EmpPU LIKE match)
Si vous avez un ensemble de mots que vous souhaitez inclure/exclure dans la recherche d'une colonne particulière. Vous pouvez utiliser la fonction d'expression régulière de mysql.
Exclure un ensemble de mots d'une colonne :
SELECT
*
FROM
Table1
WHERE
EmpPU NOT REGEXP 'CSE|ECE|EEE';
Rechercher un ensemble de mots dans une colonne :
SELECT
*
FROM
Table1
WHERE
EmpPU REGEXP 'CSE|ECE|EEE';
vous ne pouvez pas combiner LIKE et IN
tu peux faire:
select * from Table1
where EmpPU not in ('%CSE%', '%ECE%', '%EEE%')
mais vous ne bénéficierez pas du % wildcard
si vous avez besoin du %, la seule option est :
Select * from Table1
where EmpPU not like '%CSE%' and EmpPU not like '%ECE%' and EmpPU not like '%EEE%'
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.