Hej tror att din subquery bara ska fråga efter ett värde. Den ursprungliga queryn borde resultera i felmeddelandet: Fungerar det här som du tänkt?Någon som förstår 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?Sv: Någon som förstår subquerys?
SELECT md.id, md.order_id, md.article, (SELECT SUM(amount) FROM pd_inventory AS i WHERE i.art_id = md.article) AS am FROM pd_mounting_details AS md Sv: Någon som förstår subquerys?
"Only one expression can be specified in the select list when the subquery is not introduced with EXISTS."
Så Jan har helt rätt i att subqueryn måste fås att bara generera en kolumn.Sv: Någon som förstår subquerys?
<code>
SELECT
md.id,
md.order_id,
md.article,
i.art_id,
SUM(amount) AS am
FROM pd_mounting_details AS md
INNER JOIN pd_inventory AS i ON i.art_id = md.article
GROUP BY i.art_id, md.id, md.order_id, md.article;
</code>