2009-11-19 18 views
14

Perché questa semplice ritorno query 'ORA-00936: l'espressione mancante' (il database è Oracle come si può dire):'non come' in una query SQL

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND NOT LIKE '2%' 

Mi sento stupido, ma ciò che am Sto sbagliando?

risposta

50

Hai perso il nome del campo id nel secondo NOT LIKE. Prova:

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%' 

Il AND nella clausola where si unisce 2 Pieno espressioni come id NOT LIKE '1%' e non può essere utilizzato per elencare più valori che l'ID è 'non piace'.

8

È necessario specificare la colonna in entrambe le espressioni.

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%' 
7

Ti sei perso l'id prima del NOT; deve essere specificato.

SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%' 
Problemi correlati