Ik ben op dit moment bezig met het opzetten van een query die waarde uit gijzermetingen haalt. In deze tabel staat per uur hoe hoog een gijzer zijn water de lucht in schiet.
Wat ik wil is dit van verschillende data zien en heb deze query opgezet:
<?php
SELECT gr1.date, (gr1.hoogte + gr2.hoogte) as hoogte
FROM (SELECT date, (hoogte * 3) AS hoogte
FROM metingen
GROUP BY date
) AS gr1
JOIN (
SELECT date, (hoogte * 2) AS hoogte
FROM metingen WHERE date = (gr1.date - INTERVAL 1 DAY)
GROUP BY date
) AS gr2 ON gr2.date = ( gr1.date - INTERVAL 1
DAY )
WHERE gr1.date
BETWEEN 2009-01-01
AND 2010-01-01
?>
Volgens mij zou hij op deze manier moeten werken maar als ik hem uitvoer krijg ik deze melding:
#1054 - Unknown column 'gr1.datum' in 'where clause'
De query werkt als ik de WHERE conditie weghaal dit gedeelte:
WHERE date = (gr1.date - INTERVAL 1 DAY)
Maar als ik dat weghaal duurt de query erg lang om uit te voeren omdat hij de hele table joined. En misschien pas ik de query later aan zodat hij terug gaat kijken op 7 dagen maar ja dan duurt de query helemaal 3 jaar om uit te voeren.
Ik zit hier echt vast mee dus kan iemand mij hiermee helpen?
1.917 views