Ich habe die folgende SQL-AbfrageOracle Unterabfrage nach wie Fehler
SELECT * FROM users u WHERE 1=1 and u.user_name LIKE 'A%'
Es funktioniert wie erwartet. Die folgende Zeile führt jedoch zu einer Fehlermeldung.
SELECT * FROM users u WHERE 1=1 and u.user_name LIKE (select '%arthur%' from dual)
Die Fehlermeldung ist folgende:
ORA-00933 SQL Command not properly ended
habe ich versucht, die Abfrage mit schließen ";" aber es gibt immer noch den gleichen Fehler. Was könnte diesen Fehler verursachen?
Edit: Ich brauche LIKE und kann nicht IN verwenden, nehmen wir an, wir haben nur einen 'Arthur' in der Benutzerdatenbank.
Mögliches Duplikat von [Verwendung des 'LIKE' -Operators mit einer Unterabfrage, die mehrere Ergebnisse liefert] (http://stackoverflow.com/questions/18049602/using-like-operator-with-a-subquery-that-returns-multiple -Ergebnisse) – JohnHC
'SELECT * FROM DUAL WHERE 'abcd' LIKE (SELECT '% bc%' FRM DUAL);' funktioniert ohne Fehler. Wie rufen Sie diese Aussage auf? – MT0
Syntax scheint korrekt zu sein, wo versuchen Sie diese Anweisung auszuführen? – TheName