Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[php + mysql] actuele prijzen rondom random date

Pagina: 1
Acties:

  • Rexomnium
  • Registratie: September 2000
  • Laatst online: 19-11 16:06

Rexomnium

Vincam aut moriar

Topicstarter
Ik heb een tabel producten en een tabel productkenmerken.

Producten bestaan uit:
  • ProductID
  • Naam
  • Soort
  • Omschrijving
Productkenmerken bestaan uit:
  • ProductkenmerkID
  • Hoeveelheid
  • Prijs
  • Stuksprijs
  • Peildatum
  • ProductID
Elke nacht draait er een query om de prijzen en aantallen te actualiseren. Wanneer deze verschillen, dan wordt er een nieuw record in Productkenmerken gezet met de actuele (stuks)prijzen, aantallen en peildata. Wanneer deze niet verschillen, dan gebeurt er niets.

Het kan zijn dat bij een update slechts een gedeelte qua aantallen en (stuks)prijzen moet worden aangepast.

Bij een willekeurige datum moeten de bijbehorende (stuks)prijzen en aantallen worden getoond en daar kom ik in de knel.

Ik zat zelf te denken aan twee queries om de bijbehorende BETWEEN peildata te verkrijgen: 1 query die peildatum > willekeurige datum pakt en 1 query die peildatum < willekeurige datum pakt. Het probleem is dan de producten die NIET zijn geüpdate tijdens een nachtelijke run. Die vallen daar dan immer buiten.

Hoe krijg ik het voor elkaar om de prijzen en aantallen van een willekeurige datum te krijgen? Kan iemand mij een behoorlijke schop in de goede richting geven? Het kan zijn dat ik de beide tabellen anders moet inrichten of de updatequery moet aanpassen. Ik kom er in ieder geval niet meer uit.

Alvast heel erg bedankt :)

[ Voor 2% gewijzigd door Rexomnium op 24-12-2012 11:36 . Reden: En, oh ja, alvast heel erg bedankt ]

We zijn allemaal vaandeldrager in een optocht van gekwetsten.


  • itons
  • Registratie: Oktober 2003
  • Niet online
select *
from productkenmerken kn
where max(kn.peildatum) <= to_date(gewenste datum)

zoeits?

  • Rexomnium
  • Registratie: September 2000
  • Laatst online: 19-11 16:06

Rexomnium

Vincam aut moriar

Topicstarter
itons schreef op maandag 24 december 2012 @ 11:38:
select *
from productkenmerken kn
where max(kn.peildatum) <= to_date(gewenste datum)

zoeits?
Ik heb daar het volgende van gebrouwen:

SELECT merk.*, prijs.* FROM Producten merk JOIN Productkenmerken prijs ON merk.ProductID = prijs.ProductID WHERE max(prijs.peildatum) <= to_date('2012-12-24 00:00:00')

Dan krijg ik een error "#1111 - Invalid use of group function".

We zijn allemaal vaandeldrager in een optocht van gekwetsten.


  • Rexomnium
  • Registratie: September 2000
  • Laatst online: 19-11 16:06

Rexomnium

Vincam aut moriar

Topicstarter
Ja, daar kan ik dus alle verschillende datums mee verkrijgen, maar hoe weet ik nou dat een specifiek product bij die datum hoort? Kan ik wel in 1 query krijgen wat ik wil?

We zijn allemaal vaandeldrager in een optocht van gekwetsten.