Hoi allemaal..
Ik zit al heel lang te broeden op het volgende :
Voor een rapportagesysteem houd ik van winkels bij wat hun voorraden per artikel per dag zijn. Aangezien het 7000 artikelen zijn en 50 winkels loopt het aantal rows in de database erg snel op (350000 per dag). Dat is teveel dus heb ik besloten om alleen voorraden <> 0 op te slaan en ervanuit te gaan dat als een regel (winkel/dag) niet bestaat dat de voorraad 0 is (logisch toch ?)
[tabelstructuur]
Nu wil ik in een query het volgende als output hebben :
Dit is niet zo moeilijk aangezien :
gewoon werkt.
Nu wil ik echter voor elk artikel en voor elke winkel gegevens hebben, dus een soort van 'default' value van 0
Uit de sql documentatie heb ik begrepen dat je dat dus met LEFT JOIN moet doen, maar ik krijg toch steeds alleen de regels terug waarvoor er wel een regel bestaan in de 'stocks' tabel.
Wie o wie !?
Ik zit al heel lang te broeden op het volgende :
Voor een rapportagesysteem houd ik van winkels bij wat hun voorraden per artikel per dag zijn. Aangezien het 7000 artikelen zijn en 50 winkels loopt het aantal rows in de database erg snel op (350000 per dag). Dat is teveel dus heb ik besloten om alleen voorraden <> 0 op te slaan en ervanuit te gaan dat als een regel (winkel/dag) niet bestaat dat de voorraad 0 is (logisch toch ?)
[tabelstructuur]
code:
1
2
3
4
5
| tabel stocks (shop_id, date, artikel_id, amount) tabel shops (id, name ....) tabel artikelen (id, omschrijving, prijs ...) |
Nu wil ik in een query het volgende als output hebben :
code:
1
| (shop_id, name, artikel_id, amount) |
Dit is niet zo moeilijk aangezien :
code:
1
2
3
4
| SELECT id, name, artikel.id AS artikel_id, amount
FROM shops LEFT JOIN
(artikelen LEFT JOIN stocks ON (artikelen.id = stocks.artikel_id)) AS artikeldata
ON (shops.id = artikeldata.shop_id) |
gewoon werkt.
Nu wil ik echter voor elk artikel en voor elke winkel gegevens hebben, dus een soort van 'default' value van 0
Uit de sql documentatie heb ik begrepen dat je dat dus met LEFT JOIN moet doen, maar ik krijg toch steeds alleen de regels terug waarvoor er wel een regel bestaan in de 'stocks' tabel.
Wie o wie !?
edit:
Sorry voor het verpieteren van de opmaak, maar zo is het leesbaarder denk ik
Sorry voor het verpieteren van de opmaak, maar zo is het leesbaarder denk ik
SIZE does matter.
"You're go at throttle up!"