Problemet her er, at du tjekker for tilstedeværelsen af l to gange. Det er det samme som... "Den indeholder en l . Jep, indeholder stadig en l ." Det tjekker ikke efter to af dem. Her er et alternativ...
SELECT word FROM us_6 WHERE
word REGEXP 'v' AND
word REGEXP 'l.*l' AND
word REGEXP 'e' AND
word REGEXP 'o' AND
word REGEXP 'y'
Dette bør matche alle ord, der indeholder en v , to l 's, en e , en o og en y .
Så hver anden forekomst af det samme bogstav skal du blot tilføje et andet .*-bogstav til forespørgslen. For eksempel lullaby har brug for følgende forespørgsel:
SELECT word FROM us_7 WHERE
word REGEXP 'l.*l.*l' AND
word REGEXP 'u' AND
word REGEXP 'a' AND
word REGEXP 'b' AND
word REGEXP 'y'
Se, hvordan jeg tilføjer 3 *.l fordi der er 3 forekomster af l i ordet lullaby .
Det samme kan også opnås med LIKE i stedet for REGEXP . Her er en tilsvarende forespørgsel til det oprindelige spørgsmål...
SELECT word FROM us_6 WHERE
word LIKE '%v%' AND
word LIKE '%l%l%' AND
word LIKE '%e%' AND
word LIKE '%o%' AND
word LIKE '%y%'