Är väl ingen fena på SQL och har väl därför fastnat i ett litet problem för att få ut mitt data från 2 tabeller. Det hade varit vettigare med:Trassel med SQL och INNER JOINS
Tabell1
orderID
matrialNamn
antal
pris
Tabell2
gruppID
matrialNamn
Dvs tabell 2 innehåller en massa olika matrial som är grupperade i olika grupper. Tabell1 är en slags innehållsförteckning där jag har samlat alla mina inköp, dvs vilket matrial jag köpt vid de olika tillfällena samt hur mycket och till vilket pris.
Nu skulle jag vilja lista alla saker som tillhör en viss grupp.
Dvs, jag skulle vilja plocka ut alla matrial som tillhör en viss grupp, och sedan för varje matrial även lista det antal som står i tabell1. Kruxet är ju liksom att det kan finnas fler entries i tabell 1 för varje matrial. En grupp kan innehålla upp till kanske 10 olika matrial, så en lista som följer är väl vad jag försöker åstadkomma.
Matrial1, Tomater
orderID, Matrial, Antal, Pris
1 , Tomater, 100, 14.50
3 , Tomater , 100, 22,50
...
Matrial2, Gurkor
orderID, Matrial, Antal, Pris
1 , Gurkor, 100, 14.50
3 , Gurkor , 100, 22,50
...
osv ...
Jag började med att göra en SELECT sats där jag plockade ut alla mina matrialNamn som fann i den grupp jag önskade. Sedan loopade jag helt enkelt genom den och gjorde ett ny SELECT för där jag letade efter alla matrialNamn i Tabell1, printade ut dom, och fortsatte sedan med nästa.
Dock känns det som att det säkerligen går att lösa med det här SQL, det är bara att jag inte lyckats knäcka riktigt hur det skulle funka :P Började trassla med INNER JOINS för det lät som om det skulle funka, men jag får inte till det.
Snälla hjälp!Sv: Trassel med SQL och INNER JOINS
Tabell1
orderID
matrialID
antal
pris
Och får då:
SELECT ... FROM Tabell1 INNER JOIN Tabell2 ON Tabell1.MaterialID = Tabell2.MaterialID ORDER BY MaterialID
Annars sorterar du bara på MaterialNamn.
Att få ut det på den formen du har gör du sen bara i en loop, där du kollar om nuvarande material skiljer sig från föregående.