Hallo ik wil graag uit een "date" functie, die ik in mijn database heb opgeslagen een query uitvoeren.
Met andere woorden ik wil het jaar selecteren daarna de maand en dan de dag
<?
SELECT DISTINCT YEAR(datum) AS jaar, MONTH(datum) as maand FROM sensor0 WHERE year = '2008'
?>
maar als ik dit doe krijg ik deze melding
SQL Error: Unknown column 'year' in 'where clause'
Mis ik wat??
Je moet in de WHERE jaar gebruiken, omdat je veldnaam zo heet edit
en waarom het jaar opvragen, daar vergelijk je toch al mee in de WHERE, dus je weet wat het jaar is.
Helaas het blijft het zelfde ookal verander ik het in "jaar", ook 2008 zonder de ' verandert ook niets.
En waarom ik dat wil is omdat in deze query je dan 11 maanden over hou want ons jaar is nog niet voorbij
En de where is straks een variabele
Maar waarom zou je het jaar opvragen als je dat toch al weet? Je stelt dat tenslotte plaintexted vast in de WHERE-clause.
Omdat ik nu nog in deze query weet dat het 2008 is maar als ik straks alles bij elkaar heb, dan is het een variabel.
Dan wil ik uit de datum's kiezen uit mijn database en die lopen vanaf halverwege 2005 tot aan nu en dan heb ik dus niet alle maanden van 1 tot en met 12.
Ik zal even proberen uit te leggen wat ik wil:
Ik heb een database waar in ik temperaturen opsla, ieder 5min
Is op gebouwd in
id
tijd
datum
temp
timestamp
Voordat ik nu van iedereen commentaar over me heen krijg van
"jammer dat je het zo hebt op gebouwd"
Het is niet anders!!!
Wat ik nu wil is dat ik verschillende grafieken kan maken zoals dit
Echter hier zou je bijv. 31 feb kunnen selecteren, goed hij geeft dan wel aan dat deze datum niet bestaat maar ik wil niet hebben dat je die datum kan selecteren.
Dus als ik in een dropdown menu "2008" selecteer dan moeten alleen de maanden 1 t/m 11 te voorschijn komen en als ik dan de 2e maand selecteer dan de dagen 1 t/m 29.
Dus 2008 kan net zo goed 2005 of 2006 of 2007 zijn.
De kolommen tijd, datum en timstamp kun je hier natuurlijk gewoon samenvoegen in 1 kolom van het type DATETIME. Je geeft aan dat het gewoon niet anders kan? Waarom niet?
Als jij alle tijdstippen in een DATETIME opslaat, kun je van daaruit precies alle te selecteren data bepalen. Dan zul je dus ook nooit 31 februari ertussen hebben omdat het fysiek onmogelijk is om die datum in de database te zetten...