Ik krijg mijn SQL statement niet werkend.
Ik wil het volgende uitvoeren op twee tabellen die ik heb (pvfacts en p1facts). pvfacts logt iedere 10 seconden de hoeveelheid opgewekte energie uit mijn zonnepanelen, p1facts logt iedere 10 seconden mijn energiemeter inkoop en levering. Beide tabellen worden echter NIET synchroon gelogd, dus ze moeten op minutenbasis (of op 10-tallen secondenbasis) naast elkaar gelegd worden.
pvfacts is opgebouwd uit de kolommen timestamp, RealtimePower
p1facts is opgebouwd uit de kolommen timestamp, kw_inkoop, kw_levering
Deze tabellen wil ik combineren om in een oogopslag te kunnen zien wat mijn eigen verbruik is (realtimepower + inkoop - levering = eigen verbruik).
Ik ben tot het volgende SQL statement gekomen:
Ik krijg hierop een foutmelding die aangeeft dat het statement in de buurt van ON niet correct is. Ik heb van alles geprobeerd (ook substr verwijderd), maar ik krijg het niet aan de gang. Vanaf het WHERE statement weet ik dat dit correct is, deze werkt goed als ik maar 1 tabel selecteer.
Wie o wie kan mij de uiteindelijke tip geven?
Ik wil het volgende uitvoeren op twee tabellen die ik heb (pvfacts en p1facts). pvfacts logt iedere 10 seconden de hoeveelheid opgewekte energie uit mijn zonnepanelen, p1facts logt iedere 10 seconden mijn energiemeter inkoop en levering. Beide tabellen worden echter NIET synchroon gelogd, dus ze moeten op minutenbasis (of op 10-tallen secondenbasis) naast elkaar gelegd worden.
pvfacts is opgebouwd uit de kolommen timestamp, RealtimePower
p1facts is opgebouwd uit de kolommen timestamp, kw_inkoop, kw_levering
Deze tabellen wil ik combineren om in een oogopslag te kunnen zien wat mijn eigen verbruik is (realtimepower + inkoop - levering = eigen verbruik).
Ik ben tot het volgende SQL statement gekomen:
code:
1
2
3
4
5
6
| $sql='SELECT substr(timestamp, 12, 5) time, kw_inkoop, kw_levering FROM p1facts RIGHT JOIN RealtimePower FROM pvfacts ON substr(p1facts.timestamp,12,5)=substr(pvfacts.timestamp,12,5) WHERE time between date("' . $today . '") and adddate(date("' . $today . '"), INTERVAL 1 day) GROUP by time ORDER by time'; |
Ik krijg hierop een foutmelding die aangeeft dat het statement in de buurt van ON niet correct is. Ik heb van alles geprobeerd (ook substr verwijderd), maar ik krijg het niet aan de gang. Vanaf het WHERE statement weet ik dat dit correct is, deze werkt goed als ik maar 1 tabel selecteer.
Wie o wie kan mij de uiteindelijke tip geven?