Hulp in query gezocht
Met andere woorden ik wil het jaar selecteren daarna de maand en dan de dag
Code (php)
1
2
3
2
3
<?
SELECT DISTINCT YEAR(datum) AS jaar, MONTH(datum) as maand FROM sensor0 WHERE year = '2008'
?>
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
Gewijzigd op 01/01/1970 01:00:00 door Stefan srepmek
edit
en waarom het jaar opvragen, daar vergelijk je toch al mee in de WHERE, dus je weet wat het jaar is.
Gewijzigd op 01/01/1970 01:00:00 door Gerben G
WHERE jaar=2008
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
Gewijzigd op 01/01/1970 01:00:00 door stefan srepmek
Tikkes schreef op 08.11.2008 17:36:
moet dat niet zijn:
WHERE jaar=2008
WHERE jaar=2008
WHERE YEAR(datum)=2008
Code (php)
1
2
3
2
3
<?PHP
SELECT DISTINCT YEAR(datum) AS jaar, MONTH(datum) as maand FROM sensor0 WHERE YEAR(datum) = 2008
?>
SELECT DISTINCT YEAR(datum) AS jaar, MONTH(datum) as maand FROM sensor0 WHERE YEAR(datum) = 2008
?>
EDIT: santhe was eerst ;-)
Gewijzigd op 01/01/1970 01:00:00 door Tikkes C
Dank u dat was het
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
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...
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.
Klaasjan Boven schreef op 08.11.2008 21:04:
Oh, dat ben ik uiteraard helemaal met je eens. Maar goed, first things first. En dat is lijkt mij een correct datamodel gebruiken ;-)Dan geld nog steeds dat het onnozel is om te doen
(...)
(...)
Blanche dit schreef ik toen de post van jou er nog niet stond. Ik heb het dus niet over jouw oplossing :)
Klaasjan Boven schreef op 08.11.2008 21:48:
Aha, duidelijk ;-)Blanche dit schreef ik toen de post van jou er nog niet stond. Ik heb het dus niet over jouw oplossing :)