28/03/2025 - max.riservo ha scritto:
Se non posso aggiungere un INNER JOIN a valle di un LEFT/RIGHT JOIN direi che non posso neanche aggiungere un LEFT/RIGHT JOIN ... ma è una mia interpretazione.
La traduzione di quanto hai riportato
Un LEFT JOIN o un RIGHT JOIN possono essere annidati all'interno di un INNER JOIN,
Che significa?
Dato l'insieme A di triangoli, l'insieme b di triangoli scaleni, l'insieme c di triangoli rettangoli...
Triangoli Left joint triangoli scaleni mostra tutto l'insieme dei triangoli e i triangoli scaleni che sono uguali nell'insieme triangoli escludendo i simili presenti nell'insieme scaleni
Poi posso aggiungere un altro sottoinsieme preso dalla tabella rettangoli
Triangoli Left joint rettangoli
Fermo restando tutta la tabella o insieme triangoli, aggiungo quelli che nella tabella rettangoli sono uguali non simili a quelli della tabella triangoli
ma un INNER JOIN non può essere annidato all'interno di un LEFT JOIN o di un RIGHT JOIN.
E questa che significa???
Triangoli inner joint scaleni
Prendi solo gli scaleni della tabella triangoli che sono anche nella tabella scaleni...
Fine! Non posso più aggiungere altre joint perché non ho altri triangoli nella tabella triangoli: qualsiasi altra joint mi restituisce l'insieme vuoto (zero).
se non ci arriva la logica ci arriva il manuale.
Tuttavia,
Se si crea una query che contiene un LEFT JOIN e un INNER JOIN, Access potrebbe non essere in grado di determinare quale operazione eseguire per prima. Poiché i risultati variano in base al tipo di join eseguito per primo, Access restituisce un messaggio di errore:
Per risolvere il problema, è necessario modificare la query in modo che sia chiaramente indicato il join da eseguire per primo.
Tratto da https://support.microsoft.com/it-it/topic/collegare-tabelle-e-query-3f5838bd-24a0-4832-9bc1-07061a1478f6
tradotto significa un buon uso di parentesi.
P.s. si può bypassare il limite innerjoin con una Union e ripetere la select... anche n volte.