Qualcuno mi può aiutare a capire dove sto sbaliando?
in un DB mysql ho due tabelle:
Gruppi
id, nomegruppo
OperatoriGruppi
id, idOperatore, idGruppo
ogni operatore puo appartenere a diversi gruppi, io voglio estrarre tutti i gruppi tranne quelli di cui fa parte un preciso operatore, per cui ho impostato la query in questo modo:
SELECT * FROM Gruppi WHERE id != ANY (SELECT idGruppo FROM OperatoriGruppi WHERE idOperatore = 1)
la query viene eseguita correttamente ma mi da come risultato tutti i gruppi, senza escludere quelli in cui è inserito l'opertore 1;
ma la cosa più assurda, che proprio non capisco, è che se cambio la query in:
SELECT * FROM Gruppi WHERE id = ANY (SELECT idGruppo FROM OperatoriGruppi WHERE idOperatore = 1)
ovvero sostituisco 'id!=' con 'id=' la query si comporta esattamnte come mi aspetterei, ovvero mi da tutti i gruppi di cui fa parte l'operatore 1.
come faccio a fare il contrario??![]()
![]()
grazie a tutti per l'aiuto
![]()

Rispondi quotando
