Hallo allemaal,
Ik ben bezig met het overzetten van gegevens van één database naar een andere bestaande database. Daarvoor wil ik een aantal gegevens samenvoegen:
tabel artikel (prijs)
tabel artikelinfo (alle gegevens)
tabel artikelinfodetail (alle gegevens)
Met onderstaande query heb ik alvast de artikelen aan een prijs gekoppeld:
SELECT
artikelinfo.nr,
COUNT(artikelinfo.nr) AS aantal,
artikelen.huurprijsexbtw
FROM
artikelen,
artikelinfo
WHERE
artikelinfo.nr = artikelen.artikelnummer
GROUP BY
artikelinfo.nr
HAVING
aantal < 2
Bovenstaande query resulteert in 1625 rijen.
Vervolgens heb ik geprobeerd met onderstaande query ook nog alle gegevens uit artikelinfodetail op wil halen krijg ik veel minder rijen, namelijk iets meer dan 900. Dit zou hetzelfde aantal (1625) moeten zijn.
SELECT
artikelinfo.nr,
COUNT(artikelinfo.nr) AS aantal,
artikelen.huurprijsexbtw,
artikelinfodetail.*
FROM
artikelen,
artikelinfo
LEFT JOIN artikelinfodetail ON artikelinfo.nr = artikelinfodetail.nr
where
artikelinfo.nr = artikelen.artikelnummer
GROUP BY
artikelinfo.nr
HAVING
aantal < 2
Uit tabel artikelinfo wil ik alle rijen ophalen ongeacht of nr uit de artikelinfodetail bestaat of niet. Als hij daar wel bestaat wil ik de informatie tot één rij samenvoegen. Er staan veel dubbele artikelnummers in. Met de COUNT haal ik alleen de artikelnummers op die één keer voorkomen.
Hopelijk is dit verhaal duidelijk genoeg. Kan iemand mij hiermee helpen?
Alvast bedankt.
1.440 views