Onderscheid tussen twee mogelijke waarden naast elkaar
Ik ben bezig met wat sql queries voor een rapportage en nu kom ik ergens niet uit. Heb een aantal tabellen met bestellingen, leveranciers, spaarmodules, artikelen etc.
Een bestelling (of bestelorder, of factuur) kan bij een veld de waarde 0 of 1 bevatten (in de zin van, gelukt/mislukt, verzonden/openstaand etc).
Nu kan ik netjes een lijstje met de leveranciers en spaarmodules tonen, waarbij de bestellingen horen, met daarbij het aantal openstaande of aantal mislukte bestellilngen per rij.
Je krijgt dan iets als:
Leverancier | Spaarmodule | Openstaand
----------------------------------------------------
Leverancier A | Spaarmodule X | 5
Leverancier B | Spaarmodule Z | 2
Alleen nu wil ik dus per rij de openstaande (waarde 0) en verwerkte (waarde 1) bestellingen. Het liefst ook totaal erbij, dus iets als:
Leverancier | Spaarmodule | Openstaand | Verwerkt | Totaal
---------------------------------------------------------------------------
Leverancier A | Spaarmodule X | 5 | 4 | 9
Leverancier B | Spaarmodule Z | 2 | 2 | 4
Hoe krijg ik dit voor me kaar?
De tabellen (enkele velden zijn weggelaten):
CREATE TABLE IF NOT EXISTS `bestellingen` (
`bestellingen_id` int(11) NOT NULL auto_increment,
`leveranciers_id` int(11) NOT NULL,
`spaarmodules_id` int(11) NOT NULL,
`is_actief` char(1) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`bestellingen_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
CREATE TABLE IF NOT EXISTS `leveranciers` (
`leveranciers_id` int(11) NOT NULL auto_increment,
`naam` varchar(255) collate latin1_general_ci NOT NULL,
`is_actief` char(1) collate latin1_general_ci NOT NULL,
PRIMARY KEY (`leveranciers_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci;
Tabel 'spaarmodules' is vrijwel identiek aan leveranciers, op naam van id veld en tabel na.
Het ophalen van namen met LEFT OUTER JOIN is me wel gelukt, maar nu nog geavanceerde WHERE queries om is_actief 0, 1 en totaal naast elkaar te krijgen.
Edit:
Is me inmiddels gelukt middels if-statements in de query.
Gewijzigd op 01/01/1970 01:00:00 door Vincent
Er zijn nog geen reacties op dit bericht.