Permalänk
Medlem

2 sammankopplade sql frågor?

OKey.
så här är tanken att jag vill hämta rader från en tabell med ett visst villkor samtidigt som jag vill få med en summering från en annan tabell med villlkor från första tabellen.
så i princip är det följande två frågor jag vill slå ihop så jag får med summan för varje rad som hämtas.

Select ID,Name, Date from tbl_artikel where date < '2011-01-01' AND name= 'bosse'
Select Sum(amount),from tbl_lager where date < '2011-01-01' AND artid = tbl_artikel. id

KOllade på union men den verkar inte funkar, så det jag vill är att baka in andra frågan i den första om det går?

Mvh

Permalänk

Något åt detta hållet funkar kanske? Jag fattade inte exakt hur du ville ha datumen så där kanske det är fel.

SELECT tbl_artikel.id AS id, tbl_artikel.name AS name, tbl_artikel.date AS date, SUM(tbl_lager.amount) AS amount FROM tbl_artikel INNER JOIN tbl_lager ON tbl_lager.artid=tbl_artikel.id WHERE tbl_artikel.date < '2011-01-01' AND tbl_artikel.name='bosse' AND tbl_lager.date < '2011-01-01' GROUP BY tbl_artikel.id

BTW: du borde vara mer konsekvent med stora små bokstäver.

Permalänk
Medlem

OKey, jag var nog ganska otydlig..
Detta är bara på planeringsstadiet så jag har inte skapat tabellerna än men jag ska göra dte nu och prova lite.

så här är tanken iaf..
Jag har en tabell tbl_orderRader med olika orderrader där jag har information om vilken artikel och vilket datum det gäller. Sen har jag en tabell som heter tbl_inventory där alla antal registreras, typ för varje artikel i tbl_orderRader så finns det en rad i tbl_inventory som anger hur stort antal av varje artikel som ska räknas bort. Samtidigt finns det också i tbl_inventory en rad för exempelvis ett inköp som då ökar antalet.
Så när jag skriver ut artiklar från tbl_orderRader så vill jag få med summan av alla rader med samma artikel i tbl_inventory
...

Har så många tankar igång nu så jag lätt snurrrar till

Permalänk
Medlem

Löste inte förra inlägget det där?

Testa detta annars:

SELECT tbl_artikel.*, COUNT(tbl_inventory.artid) AS inventoryCount FROM tbl_artikel INNER JOIN tbl_inventory ON tbl_inventory.artid=tbl_artikel.id WHERE tbl_artikel.date < '2011-01-01' AND tbl_artikel.name='bosse' AND tbl_inventory.date < '2011-01-01' GROUP BY tbl_artikel.id

Visa signatur

Bloggar om Hemautomation på HomeAutomateIt.com