Avatar billede max33 Nybegynder
05. marts 2010 - 10:42 Der 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'
Avatar billede max33 Nybegynder
05. marts 2010 - 10:43 #1
Det skal lige siges at 1. forsp. virker!
05. marts 2010 - 15:08 #2
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.
Avatar billede max33 Nybegynder
05. marts 2010 - 15:20 #3
Hej Christian

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å!
05. marts 2010 - 15:35 #4
Udtraek af FAQ:

"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."
Avatar billede max33 Nybegynder
05. marts 2010 - 15:54 #5
Måske vi skal komme tilbage til emnet i denne tråd eller ?
Avatar billede max33 Nybegynder
05. marts 2010 - 20:56 #6
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)
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
Computerworld tilbyder specialiserede kurser i database-management

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