19. december 2005 - 11:35Der er
2 kommentarer og 1 løsning
Circular reference
Hej,
Jeg kan ikke finde lige hitte ud af, hvad der er cirkulært ved denne forespørgsel, men jeg får alligevel følgende fejl: "Circular reference caused by alias 'testing started' in query definition's SELECT list."
SELECT [testing_1].[testing started] FROM [testing] LEFT JOIN ( SELECT MIN([testing started]) AS [testing started] FROM [testing] ) AS [testing_1] ON TRIM([testing].[Product]) = TRIM([testing_1].[Product])
Kan du forklare mig, hvordan det hænger sammen? Hvorfor er der en cirkulær reference? er min SELECT ikke en isoleret forespørgsel, som bliver behandlet som en tabel [testing_1]. Og man derfor logisk kan omskrive den ovenstående forespørgsel til:
SELECT [testing_1].[testing started] FROM [testing] LEFT JOIN [testing_1] ON TRIM([testing].[Product]) = TRIM([testing_1].[Product])
Dette virker fint og efter min forståelse skulle det betyde det samme, men det gør det åbenbart ikke. Hvordan kan man så bedst forklare den indsatte select?
mja jeg er ikke helt sikker på hvad der forårsagede det, det var et gæt med af alt. Men din fejlmeddelelse lød som af [testing started] ikke kunne bruges som alias, når feltet hed det samme.
Jeg ville måske bruge: SELECT [testing_1].[testing started] FROM [testing] LEFT JOIN ( SELECT MIN([testing started]) AS mintestingstarted FROM [testing] ) AS t2 ON TRIM([testing].[Product]) = TRIM([testing_1].[Product])
eller noget i den stil for at undgå at bruge tabel- eller feltnavne som alias'er.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.