Hej! Något sånt här kanske: Eller så här kanske: Känns som att en left join och group by borde fixa det, du slipper man en subquery.Nästlad sql-sats?
Jag har två tabeller: Artiklar(art_id, benämning) och Försäljning(f_id, art_id, typ)
jag vill nu göra en fråga som visar alla artikelnr samt antalet poster/art_nr i tabellen Försälning. Mitt problem är att de art_nr som inte förekommer i tabellen Försälning inte kommer med eller så får jag med alla art_nr, men då blir alla antal antingen 0 eller 1 trots att det finns fler poster. Hur ska jag göra?
/ÅsaSv: Nästlad sql-sats?
SELECT Artiklar.art_id, Artiklar.benämning, SubQuery.Antal
FROM Artiklar LEFT JOIN
(SELECT Försäljning.art_id, COUNT(*) AS Antal
FROM Försäljning
GROUP BY Försäljning.art_id) AS SubQuery ON Artiklar.art_id = SubQuery.art_id
Sv: Nästlad sql-sats?
<code>
select art_id, benämning, (select count(f_id) from försäljning f where f.art_id = a.art_id) as antal from artiklar a
</code>Sv: Nästlad sql-sats?
SELECT Artiklar.art_id, benämning, COUNT(Försäljning.art_id) AS Antal FROM Artiklar LEFT JOIN Försäljning ON Artiklar.art_id = Försäljning.art_id GROUP BY Artiklar.art_id, benämning
/Johan