Problemer med sum og group by
  Home FAQ Contact Sign in
dk.edb.database only
 
Advanced search
POPULAR GROUPS

more...

 Up
Problemer med sum og group by         

Group: dk.edb.database · Group Profile
Author: Ryan Kristensen
Date: Sep 5, 2008 06:30

Hej.

Jeg har et problem med en sql-forespørgsel i en mysql-database.
Jeg har tre databaser: en med produkter, en med tilbehør til produkterne,
og en database jeg bruger til at tilknytte tilbehøret til produkterne.
PRODUKTER
produkter_id PK
navn
tillæg

TILBEHØR
tilbehør_id PK
navn
pris

TILBEHØR_I_PRODUKTER
produkter_id
tilbehør_id

Jeg vil gerne sortere efter den samlede pris, som skal være summen af
prisen på alt tilknyttet tilbehør, og i nogle tilfælde skal et tillægsfelt
i produkter tilføjes til summen. Problemet er, at når jeg bruger
nedenstående sql-forespørgsel, så bliver tillægget tilføjet for hver
enkelt tilbehør, og jeg ville gerne have, at det kun blev tilføjet én gang
pr. produkt, uanset hvor meget tilbehør der måtte være. Der vil derudover
også være nogle tilfælde, hvor et produkt ikke indeholder noget tilbehør,
i det tilfælde skal den samlede pris selvfølgelig bare være indholdet af
tillægs-feltet.

Er det muligt?

SELECT p.navn, p.tillæg, SUM(t.pris+p.tillæg), t.pris
FROM produkter p
LEFT JOIN tilbehør_i_produkter tp
ON p.produkter_id=tp.produkter_id
LEFT JOIN tilbehør t
ON tp.tilbehør_id=t.tilbehør_id
GROUP BY p.produkter_id
ORDER BY SUM(t.pris+p.tillæg)

--
Mvh.
Ryan Kristensen
4 Comments
diggit! del.icio.us! reddit!