[mysql] Join op date range

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 11:51
Stel, ik heb de volgende tabel met verkochte items:

Tabel: sales
code:
1
2
3
4
5
jaar | aantal
2001 | 2000
2002 | 2150
2004 | 3400
2005 | 1700


Nu wil ik voor elk jaar tussen 2000 en 2008 het aantal verkochte items weergeven. Als het aantal verkochte items niet is ingevuld (bv 2003) dan moet er NULL staan. Dus eigenlijk wil ik een LEFT JOIN op een jaar range waarbij niet voor ieder jaar een record aanwezig is.

Nu zou ik een hulptabel met jaren kunnen gebruiken of er omheen kunnen programmeren. Weet iemand nog betere opties?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Waarom wil je het met een join? Waarom laat je je applicatie niet gewoon de missende jaren afhandelen?
Hulptabel, zoals je zelf al zegt.

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

Verwijderd

Als de tabel sales een overzicht geeft van jaren met aantal sales, is het dan niet makkelijker om een record toe te voegen dat aangeeft dat er in 2003 0 sales waren?

Acties:
  • 0 Henk 'm!

  • RobIII
  • Registratie: December 2001
  • Niet online

RobIII

Admin Devschuur®

^ Romeinse Ⅲ ja!

(overleden)
Verwijderd schreef op maandag 01 december 2008 @ 13:55:
Als de tabel sales een overzicht geeft van jaren met aantal sales, is het dan niet makkelijker om een record toe te voegen dat aangeeft dat er in 2003 0 sales waren?
Ik vermoed dat de tabel van de TS het resultaat is van een eerdere query (dus een 'view' ofzo).

There are only two hard problems in distributed systems: 2. Exactly-once delivery 1. Guaranteed order of messages 2. Exactly-once delivery.

Je eigen tweaker.me redirect

Over mij


Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 11:51
RobIII schreef op maandag 01 december 2008 @ 13:10:
Waarom wil je het met een join? Waarom laat je je applicatie niet gewoon de missende jaren afhandelen?
De query maakt deel uit van een setje standaardqueries die een resultset opleveren die ik op een bepaalde standaardmanier afhandel. Dan zou ik voor deze ene query een uitzondering moeten maken, wat ik liever vermijd.

De hulptabel lijkt inderdaad het beste in deze situatie.

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 11:51
RobIII schreef op maandag 01 december 2008 @ 13:56:
[...]

Ik vermoed dat de tabel van de TS het resultaat is van een eerdere query (dus een 'view' ofzo).
Ja klopt.
Pagina: 1