Toon posts:

[MYSQL] Opsomming van ene tabel gebruiken in een ander tabel

Pagina: 1
Acties:
  • 153 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb twee tabellen, een met produkten en een ander met alle gemaakte kosten toegerekend aan een produkt.
Nu wil ik met behulp van deze twee tabellen een opsomming maken van de totale kosten per produkt.
Dit zijn de tabellen:

produkten tabel
prod_id
produkt
pomschrijving
etc

kosten tabel:
kosten_id
prod_id
bedrag
komschrijving
etc

Ik kan de bedragen per product al sommeren
SELECT prod_id, SUM(bedrag) AS totale_kosten FROM kosten
GROUP BY prod_id
en dan heb ik dus de totale_kosten per prod_id
Deze gegevens wil ik nu dus min of meer joinen aan de producten tabel
om de volgende records te krijgen:

prod_id produkt pomschrijving totale_kosten

Hoe ziet ik mijn SQL statement er dan uit?

Verwijderd

Topicstarter
Ik kan mijn antwoord niet vinden in de FAQS
Het gaat mij niet specifiek om joins maar hoe de ene select aan de andere te knopen.
Moet het een subquery zijn of oets anders?

  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 20:37

Gonadan

Admin Beeld & Geluid, Harde Waren
Je kunt sowieso geen velden uitlezen die niet in een functie zitten als je GROUP BY gebruikt.
Behalve als er op het betreffende veld gegroepeerd wordt uiteraard. :)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


  • KabouterSuper
  • Registratie: September 2005
  • Niet online
Je kunt max(pomschrijving) gebruiken. Of ook pomschrijving grouperen, zoals hierboven terecht werd opgemerkt.

When life gives you lemons, start a battery factory


Verwijderd

SELECT produkten.*, kosten.* FROM produkten LEFT JOIN kosten ON kosten.prod_id = produkten.prod_id

Als je vervolgen SumOf[kosten] o.i.d. wilt gebruiken, moet je voor alle overige velden die je terug wilt krijgen uiteraard 'GroupBy' gebruiken. Bij 'SumOf' worden namelijk meerdere records 'samengedrukt' (door middel van optellen) tot 1 record. Zoek maar eens op GroupBy. Als je wilt kun je me bereiken via "http://coeleveld.nl" ('About this site' item in hoofdmenu').

Cheers,

[ Voor 67% gewijzigd door Verwijderd op 08-05-2006 12:52 ]


  • Janoz
  • Registratie: Oktober 2000
  • Laatst online: 00:22

Janoz

Moderator Devschuur®

!litemod

Ik zie niet in waarom dit niet met een normale join kan. Wat heb je al geprobeert en waarom wilde het volgens jou niet met een join?

@ hieronder: Ja en? Dat maakt toch niet uit? Gewoon een query met een sum op de kosten en alle andere velden in de group by.

[ Voor 33% gewijzigd door Janoz op 08-05-2006 12:52 ]

Ken Thompson's famous line from V6 UNIX is equaly applicable to this post:
'You are not expected to understand this'


  • Gonadan
  • Registratie: Februari 2004
  • Laatst online: 20:37

Gonadan

Admin Beeld & Geluid, Harde Waren
Janoz schreef op maandag 08 mei 2006 @ 12:48:
Ik zie niet in waarom dit niet met een normale join kan. Wat heb je al geprobeert en waarom wilde het volgens jou niet met een join?
Hij wil de totale kosten optellen per product, niet alle informatie hebben per product. :)

Look for the signal in your life, not the noise.

Canon R6 | RF 24-70 f/2.8 L | 50 f/1.8 STM | 430EX II
Sigma 85 f/1.4 Art | 100-400 Contemporary
Zeiss Distagon 21 f/2.8


Verwijderd

Topicstarter
Bedankt teller op nul hier kan ik mee uit de voeten!
Pagina: 1