31/10/17

Access operatore mancante right left join [Problema risolto]

A volte eseguendo una query in access formalmente corretta se eseguita ad esempio in TSQL abbiamo un errore 'operatore mancante'.

Solitamente questo viene dovuto al fatto che Access in quel particolare caso non riesce a risolvere i join contemporaneamente per cui ha bisogno di una parentesi.

Esempio prendiamo questa query con due join

SELECT distinct Booking.Id,Cliente.LuogoResidenza,Booking.AltriComponenti1Residenza, Booking.AltriComponenti2Residenza, Booking.AltriComponenti3Residenza, Booking.AltriComponenti4Residenza,Booking.AltriComponenti5Residenza FROM ClienteRIGHT JOIN Booking ON Clienti.Id = Booking.IdCliente RIGHT JOIN Disponibilita ON Booking.Id = Disponibilita.IdBooking where not booking.id is null

Se la eseguiamo in access abbiamo un errore operatore mancante

se la modifichiamo mettendo una parentesi per il primo join funziona

SELECT distinct Booking.Id,Cliente.LuogoResidenza,Booking.AltriComponenti1Residenza, Booking.AltriComponenti2Residenza, Booking.AltriComponenti3Residenza, Booking.AltriComponenti4Residenza,Booking.AltriComponenti5Residenza FROM (Cliente RIGHT JOIN Booking ON Clienti.Id = Booking.IdCliente) RIGHT JOIN Disponibilita ON Booking.Id = Disponibilita.IdBooking where not booking.id is null




Nessun commento:

Posta un commento

Cosa ne pensi?