[access] left join expression not supported?

Pagina: 1
Acties:

  • Erikie
  • Registratie: September 2000
  • Laatst online: 24-12-2025

Erikie

www.erikie.nl

Topicstarter
Ik moet voor school een kleine website maken met acces / asp. (concept, online pizzaprut (pizza verkopen op internet)). Maargoed. Ik ben harstikke php / mySQL georienteerd, dus asp / acces is vrij nieuw voor me. Nu heb ik een sql query voor acces :

SELECT
pizza.naam AS pizza_naam,
pizza.id AS pizza_id,
pizza_ingredient.id_pizza AS pi_ip, pizza_ingredient.id_ingredient AS pi_in
FROM pizza
LEFT JOIN pizza_ingredienten ON pizza_id = pi_ip

goed, beetje rommelige query, maargoed, ik krijg gewoon een error :
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Join expression not supported.

wtf? kan acces gewoon niet met joins overweg? of moet ik 1 of andere module voor acces installeren? ik heb de qry ook ff in mysql getest, en daar doet ie t vlekkeloos. (ps, mijn docent is echt een asp / acces freak :r |:( dus aankomen met argumenten dat ik mysql / php moet gebruiken is een beetje overbodig.)

ps. draai gewoon w2k, geen nieuwe service pack geinstalleerd. maar dat mag t probleem niet zijn. (gezocht op microschoft.com (msdn))

traktor scratch!


  • corani
  • Registratie: December 2000
  • Laatst online: 05-10-2017

corani

__,,,_(^_^)_,,,__

't zou me niets verbazen dat Access dat niet kan..

dus ik denk dat je het maar moet splitsen :)

Laat me nou toch eens met rust man!
Iedereen die in telekinese gelooft, steek a.u.b. mijn hand op


  • Erikie
  • Registratie: September 2000
  • Laatst online: 24-12-2025

Erikie

www.erikie.nl

Topicstarter
getsie, dubbele qry's dus. ik geloof dat subqueries t werk ook wel doen, maargoed, hier heb ik echt geen ervaring mee.

traktor scratch!


Verwijderd

Access kan geen aliasses in dezelfde query verwerken. Je moet dus de oorspronkelijke velden op elkaar joinen ipv de alias-velden.

  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Kijk eens naar:

LEFT OUTER JOIN

of eventueel:

INNER JOIN
Access kan geen aliasses in dezelfde query verwerken. Je moet dus de oorspronkelijke velden op elkaar joinen ipv de alias-velden.
SELECT (C3.first_name + " "+ C3.last_name) AS [Client name]
FROM Client AS C3 INNER JOIN [SELECT X.clientno
FROM (SELECT C.clientno, SUM(A.price * OS.qty) AS Volume
FROM (Client AS C INNER JOIN Orders AS O ON C.clientno = O.clientno) INNER JOIN (Article AS A INNER JOIN OrderSpecs AS OS ON A.artno = OS.artno) ON O.orderno = OS.orderno
GROUP BY C.clientno) AS X
WHERE NOT EXISTS (

SELECT * FROM
(SELECT C.clientno, SUM(A.price * OS.qty) AS Volume
FROM (Client AS C INNER JOIN Orders AS O ON C.clientno = O.clientno) INNER JOIN (Article AS A INNER JOIN OrderSpecs AS OS ON A.artno = OS.artno) ON O.orderno = OS.orderno
GROUP BY C.clientno) AS X2
WHERE X2.Volume < X.Volume

)]. AS Z ON C3.clientno = Z.clientno;
Deze doet het bij mij en bevat toch zeker enkele aliassen.

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Verwijderd

Moet ik toch nog maar eens goed oefenen dus :)
Overigens bedoelde ik niet Aliassen voor de tabelnamen maar voor de veldnnamen. Zou er ook nog verschil in Access-versies zijn voor de afhandeling van Aliassen? Ik gebruik meestal Access 97...
Pagina: 1