Antal varer tilbage
Jeg har to tabeller, "varer" og "varesalg".Tabellen varer indeholder information om en bestemt var, deriblandt antal, dvs. antallet der var til at starte med.
Hver gang der sælges en vare, oprettes der en post i tabellen varesalg.
Tabelstrukturen er som følger.
CREATE TABLE `varer` (
`id` int(6) NOT NULL auto_increment,
`kategori` varchar(16) NOT NULL,
`navn` varchar(32) NOT NULL,
`antal` int(3) NOT NULL,
`pris` float NOT NULL,
`købspris` float NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `navn` (`navn`)
)
CREATE TABLE `varesalg` (
`id` int(6) NOT NULL auto_increment,
`vareid` int(6) NOT NULL,
`tid` time NOT NULL,
`dato` varchar(10) NOT NULL,
PRIMARY KEY (`id`)
)
Jeg vil gerne lave en forespørgsel, som viser antallet af varer tilbage, af hver vare, men det jeg kan ikke lige finde en komplet løsning på dette.
Det tætteste jeg er kommet på, er en forespørgsel der viser antallet af varer tilbage, for de varer der er blevet købt noget af. Af der ikke købt noget af en vare, kommer den ikke med i forespørgslen.
Ind til videre ser det sådan ud:
select varer.`navn`,varer.`antal`-count(varesalg.`vareid`) as `tilbage` from `varer`,`varesalg` where varer.`id` = varesalg.`vareid` group by varer.`navn`
Jeg tænkte så at man kunne fjerne where betingelsen, men så trækker den antallet af poster i tabellen varesalg, fra antallet af hver vare i tabellen varer.
Er der nogen der kan hjælpe mig?
Jeg kører MySQL 5.0.18