2010-12-09 11 views
2

Ich habe diese AbfrageHilfe auf mehrere inneren Join-Abfrage

SELECT t1.Trans_ID 
FROM (SELECT * FROM Prune WHERE [Name]="I1") AS t1 
INNER JOIN (SELECT * FROM Prune WHERE [Name]="I2") AS t2 ON (t1.Trans_ID = t2.Trans_ID) 
INNER JOIN (SELECT * FROM Prune WHERE [Name]="I3") AS t3 ON (t1.Trans_ID = t3.Trans_ID) 

und ich habe Fehler msg: "Syntaxfehler (fehlender Operator) in Abfrageausdruck

'(t1.Trans_ID = t2.Trans_ID) 
INNER JOIN (SELECT * FROM Prune WHERE [Name]="I3") AS t3 ON (t1.Trans_ID = t3.Trans_ID)' 

Aber diese Abfrage perfekt funktionieren, wenn i mit ‚m nur 1 Exklusionsverknüpfung

SELECT t1.Trans_ID 
FROM (SELECT * FROM Prune WHERE [Name]="I1") AS t1 
INNER JOIN (SELECT * FROM Prune WHERE [Name]="I2") AS t2 ON (t1.Trans_ID = t2.Trans_ID) 

jemand sagen kann, was passieren? und wie es zu lösen?
Ich arbeite mit MS Access

Antwort

3

MsAccess ist manchmal voller Scheiße ...

Versuchen Sie, diese

SELECT t1.Trans_ID 
FROM ((SELECT * FROM Prune WHERE [Name]="I1") AS t1 
INNER JOIN (SELECT * FROM Prune WHERE [Name]="I2") AS t2 ON (t1.Trans_ID = t2.Trans_ID)) 
INNER JOIN (SELECT * FROM Prune WHERE [Name]="I3") AS t3 ON (t1.Trans_ID = t3.Trans_ID) 

Bitte beachten Sie die zusätzliche offene Klammer nur nach FROM und zusätzliche Schließ Klammer nur nach t2.Trans_ID)

+1

kann nicht mehr sagen: D msaccess ist in der Tat voll von #####, Danke. – Rico

+0

Das hat mich ein wenig Zeit gekostet, um herauszufinden, wie ich mehr von einem Sql Server Typ bin X-) –

+0

Ich Sie Menschen würden sich daran gewöhnen, mit dem QBE Ihre Joins für Sie zu schreiben, hätten Sie viel weniger Probleme mit so etwas. –

2

Versuchen Sie dies:

SELECT t1.Trans_ID 
FROM Prune AS t1 
INNER JOIN Prune AS t2 ON t1.Trans_ID = t2.Trans_ID 
INNER JOIN Prune AS t3 ON t1.Trans_ID = t3.Trans_ID 
WHERE t1.Name = "I1" AND t2.Name = "I2" AND t3.Name = "I3"