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??

Groet
Stefan
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.
moet dat niet zijn:

WHERE jaar=2008
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
Tikkes schreef op 08.11.2008 17:36
moet dat niet zijn:

WHERE jaar=2008

WHERE YEAR(datum)=2008

<?PHP 
SELECT DISTINCT YEAR(datum) AS jaar, MONTH(datum) as maand FROM sensor0 WHERE YEAR(datum) = 2008 
?> 



EDIT: santhe was eerst ;-)
Maar waarom zou je het jaar opvragen als je dat toch al weet? Je stelt dat tenslotte plaintexted vast in de WHERE-clause.
Jezpur schreef op 08.11.2008 19:09
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

http://www3.buienradar.nl/weergrafiek.aspx?soort=nidekking&stationcode=NL&stationnaam=Nederland&naam=Buienindex&extensie=in%20procenten

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.

Als er nog meer iedeeen zijn mogen die ook komen
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...
Dan geld nog steeds dat het onnozel is om te doen

SELECT YEAR(datum) from TABEL WHERE YEAR(DATUM) = 2008

is net zoiets las:

SELECT 1 FROM TABEL (rara wat zou het antwoord zijn)

Ik zou gaan voor SELECT MONTH(DATUM), DAY(DATUM) FROM TABEL WHERE YEAR(DATUM) = 2008.

Reageren