Permalänk
Medlem

Någon som kan subquerys?

Nu har jag trasslat som F*n med subquerys men får det inte att fungera, hittade ett exempel på Microsoft msdn kör på deras exempel men får det inte att fungera..
gjorde det så enkelt som möjligt så här:

select md.id, md.order_id, md.article, (select i.art_id, SUM(amount) from pd_inventory as i WHERE i.art_id = md.article group by i.art_id) AS am from pd_mounting_details AS md

tabellerna ser ut som:

pd_mounting_details
id
order_id
article

pd_inventory
art_id
amount

så nu vill jag lista alla rader från pd_mounting_details samtidigt som jag vill få med en summa för varje rad som består av summan av alla rader i pd_inventory där art_id = article från pd_mounting_details?

fattar inte varför inte frågan fungerar, får inget vettigt felmeddelande heller?

Permalänk
Medlem

så vitt jag minns, så måste en subquery returnera ett enda resultat, så din fråga borde se ut så här:

SELECT md.id, md.order_id, md.article, (SELECT SUM(i.amount) FROM pd_inventory AS i WHERE i.art_id = md.article) AS am FROM pd_mounting_details AS md

ett annat alternativ är att göra en join, men då måste man ju gruppera kolumnerna.

SELECT md.id, md.order_id, md.article, SUM(i.amount) AS am FROM pd_mounting_details AS md LEFT JOIN pd_inventory AS i ON i.art_id = md.article GROUP BY md.id, md.order_id, md_article

Skrivet av evilaid:

Nu har jag trasslat som F*n med subquerys men får det inte att fungera, hittade ett exempel på Microsoft msdn kör på deras exempel men får det inte att fungera..
gjorde det så enkelt som möjligt så här:

select md.id, md.order_id, md.article, (select i.art_id, SUM(amount) from pd_inventory as i WHERE i.art_id = md.article group by i.art_id) AS am from pd_mounting_details AS md

tabellerna ser ut som:

pd_mounting_details
id
order_id
article

pd_inventory
art_id
amount

så nu vill jag lista alla rader från pd_mounting_details samtidigt som jag vill få med en summa för varje rad som består av summan av alla rader i pd_inventory där art_id = article från pd_mounting_details?

fattar inte varför inte frågan fungerar, får inget vettigt felmeddelande heller?

Visa signatur

as far as we can tell, the massacre went well...