Ho problemi a unire tre tabelle. Funziona bene quando utilizzo la stessa query per unire due tabelle (dopo aver rimosso LEFT OUTER JOIN C ON B.No = C.No
). Tuttavia, non funziona quando utilizzo tre tabelle.
Questa è la mia query
SELECT A.Name, B.Quantity, C.Quantity FROM A LEFT OUTER JOIN B ON A.ID = B.ID LEFT OUTER JOIN C ON B.No = C.No;
Commenti
Answer
MS-Access è piuttosto esigente nel modo in cui vuole le unioni da formare. Aggiungi parentesi:
SELECT A.Name, B.Quantity, C.Quantity FROM ( A LEFT OUTER JOIN B ON A.ID = B.ID ) LEFT OUTER JOIN C ON B.No = C.No ;
La sintassi SQL standard e la maggior parte degli altri DBMS non richiedono parentesi nel FROM
clausola, sebbene tu possa usarli per chiarezza.
Commenti
- Grazie per la tua risposta. Ha funzionato! Grazie mille. Sapevo che la mia domanda era giusta, ho appena perso la parentesi. Grazie ancora. Che Dio vi benedica! 🙂
- La maggior parte degli altri DBMS non ne ha bisogno (e giustamente).
- Sì. ' è la prima volta che utilizzo MS Access. ' sono così abituato a SQL Server!
- @deppz: Sai che esiste unedizione SQL-Server Express? (non con tutte le capacità delle edizioni superiori, ma può soddisfare le tue esigenze).
- Sì, ' lho usato prima. Per questa particolare attività ho dovuto utilizzare solo MS Access. Grazie per il tuo suggerimento.
FROM
include più di un join.