Mám problémy s připojením tří tabulek. Funguje to dobře, když pro připojení dvou tabulek použiji stejný dotaz (po odebrání LEFT OUTER JOIN C ON B.No = C.No). Při použití tří tabulek to však nefunguje.

Toto je můj dotaz

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; 

Komentáře

  • Pokud nastavíte svá spojení pomocí návrhového zobrazení návrháře dotazů aplikace Access, přidá závorky, které Access vyžaduje, když FROM obsahuje více než jedno připojení.

odpověď

MS-Access je docela vybíravý v tom, jak chce spojení, která mají být vytvořena. Přidejte závorky:

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 ; 

Standardní syntaxe SQL – a většina ostatních systémů DBMS – nevyžadují závorky v FROM klauzule, přestože je pro přehlednost povoleno je používat.

Komentáře

  • Děkujeme za odpověď. Fungovalo to! Děkuji mnohokrát. Věděl jsem, že můj dotaz je správný, právě mi chyběla závorka. Ještě jednou děkuji. Bůh žehnej! 🙂
  • Většina ostatních systémů DBMS tyto nepotřebuje (a je to oprávněně).
  • Ano. Je to ' poprvé, co používám MS Access. Jsem ' tak zvyklý na SQL Server!
  • @deppz: Víte, že existuje edice SQL-Server Express? (ne s plnými funkcemi vyšších edic, ale může to sloužit vašim potřebám).
  • Ano, už jsem to ' použil. Pro tento konkrétní úkol jsem musel použít pouze MS Access. Děkujeme za váš návrh.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *