Avatar billede Slettet bruger
19. december 2005 - 11:35 Der 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])

Er der nogen der har et godt forslag?

/1.
Avatar billede jesperfjoelner Nybegynder
19. december 2005 - 11:59 #1
er det fordi du bruger:

MIN([testing started]) AS [testing started]

i stedet for f.eks.:

MIN([testing started]) AS teststart
Avatar billede Slettet bruger
19. december 2005 - 17:13 #2
Jamen det virker jo som det skal.

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?
Avatar billede jesperfjoelner Nybegynder
19. december 2005 - 17:31 #3
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.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester