05. marts 2010 - 10:42Der er
5 kommentarer og 1 løsning
Select fra samme tabel x2
Hej
Skal hente data fra samme tabel 2 gange, men kan ikke få det til at fungere helt.
Min forsp. når jeg vil hente fra tabel 1 gang ser sådan du:
Select SUM(I1.Value) AS ValueI1, COUNT(I1.Value) AS SamplesI1, LogTime.Dato AS Dato FROM LogInput AS I1 LEFT JOIN LogTime ON I1.LogTime_ID = LogTime.ID WHERE I1.Input_ID = '1' && LogTime.Dato >= '2008-01-01' && LogTime.Dato <= '2008-01-01' && LogTime.Tid >= '00:00' && LogTime.Tid <= '00:59' GROUP BY HOUR(LogTime.Tid)
Når jeg så vil hente fra samme tabel 2 gange ser den såden her ud:
Select SUM(I1.Value) AS ValueI1, COUNT(I1.Value) AS SamplesI1, SUM(I2.Value) AS ValueI2, COUNT(I2.Value) AS SamplesI2, LogTime.Dato AS Dato FROM LogInput AS I1, LogInput AS I2 LEFT JOIN LogTime ON I1.LogTime_ID = LogTime.ID WHERE I1.LogTime_ID = I2.LogTime_ID && I1.Input_ID = '1' && I2.Input_ID = '1' && LogTime.Dato >= '2008-01-01' && LogTime.Dato <= '2008-01-01' && LogTime.Tid >= '00:00' && LogTime.Tid <= '00:59' GROUP BY HOUR(LogTime.Tid)
og jeg får en fejl i phpMyAdmin: #1054 - Unknown column 'I1.LogTime_ID' in 'on clause'
Teknologi, AI og forretning er i centrum på Computerworlds Cloud og AI Festival i København d. 18. og 19. september. Se hele programmet for den store konference om strategisk brug af Cloud og AI på: www.cloud-festival.dk
Det er til at loese, men jeg ser at du har ladet stoerstedelen af de spoergsmaal du har oprettet staa aabne. Jeg skoenner derfor at hvis jeg giver mig i kast med spoergsmaalet er der en stor chance for at jeg ogsaa bliver haengende i et evigheds-aabent spoergsmaal og det har jeg ikke lyst til. Luk dine gamle spoergsmaal. Saa kan vi tale sammen.
Jamen regner også med det er arne_v som skal svare, han holder sig til emnet og kommer med nogle brugbare svar.
En af grundene til at der tiltider ikke bliver svaret er at der kommer en ind med noget helt ligegyldigt og tråden så drejer i en anden retning. Det deler jeg ikke point ud til!
Men håber ikke du får lov til at ødelægge denne tråd med dit indlæg, da jeg har et relevant spørgsmål som andre måske også kan bruge svaret på!
"Et spørgsmål er lukket når der er lagt et svar, som er blevet accepteret af vedkommende som oprettede spørgsmålet. Hvis du har et spørgsmål hvor ingen af svarene kunne bruges, kan du selv lægge et svar og acceptere dette."
Så lykkes det mig at finde løsningen selv, den vil jeg selvfølgelig gerne dele med andre som kunne have samme problem.
Der skal lige en () rund om (LogInput AS I1, LogInput AS I2) åbenbart noget nyt efter mysql version 5.
Select SUM(I1.Value) AS ValueI1, COUNT(I1.Value) AS SamplesI1, SUM(I2.Value) AS ValueI2, COUNT(I2.Value) AS SamplesI2, LogTime.Dato AS Dato FROM (LogInput AS I1, LogInput AS I2) LEFT JOIN LogTime ON I1.LogTime_ID = LogTime.ID WHERE I1.LogTime_ID = I2.LogTime_ID && I1.Input_ID = '1' && I2.Input_ID = '1' && LogTime.Dato >= '2008-01-01' && LogTime.Dato <= '2008-01-01' && LogTime.Tid >= '00:00' && LogTime.Tid <= '00:59' GROUP BY HOUR(LogTime.Tid)
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.