Query Group by

Gestart doorShahiem8 reacties53 weergaven

9 berichten · pagina 1 van 1

Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hi,

Ik zit nu even vast want ik heb nu een lijst met allemaal bestellingen via PHP script en ik wil het graag groeperen en nu heb ik dit:

Bestelling
03.08.2011 1x KPN Opwaardercode 10 Euro € 10
03.08.2011 1x Telfort Simkaartcode 10 Euro € 10
03.08.2011 3x KPN Opwaardercode 20 Euro € 60
03.08.2011 3x KPN Opwaardercode 20 Euro € 60
03.08.2011 3x KPN Opwaardercode 20 Euro € 60
03.08.2011 1x Telfort Opwaardercode 43 Euro € 43

Nu wil ik dat alle 3x KPN Opwaardercode 20 Euro bij elkaar horen, maar dat wilt me steeds niet lukken. Heb al GROUP BY categorie en bedrag en provider geprobeerd maar niet wilt helpen.

Mijn Query
Spoiler tonen
$mijnBestellingenQuery = $mysql->query("SELECT
                                                nummer,
                                                pr.id,
                                                bank,
                                                bedrag,
                                                betaalwijze,
                                                datum,
                                                betaald,
                                                categorie,
                                                provider_id,
                                                (
                                                    SELECT
                                                        naam
                                                    FROM
                                                        providers
                                                    WHERE
                                                        id = provider_id
                                                ) provider_naam,
                                                (
                                                    SELECT
                                                        COUNT(1)
                                                    FROM
                                                        payment
                                                    WHERE
                                                        provider_id = pr.id
                                                    AND
                                                        lid_id = ".$info[id]."
                                                    AND
                                                        bedrag = p.bedrag
                                                ) aantal,
                                                c.id
                                            FROM
                                                payment p,
                                                providers pr,
                                                categorie c
                                            WHERE
                                                lid_id = ".$info[id]."
                                            AND
                                                provider_id = pr.id
                                            AND
                                                p.categorie = c.id
                                            ORDER BY
                                                bedrag");
Wie kan me helpen? Alvast bedankt! smile
Gegroetm
Shahiem
0
Erik

Lid

Berichten
7.109
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Zoiets?

$mijnBestellingenQuery = $mysql->query("SELECT
                                                nummer,
                                                pr.id,
                                                bank,
                                                bedrag,
                                                betaalwijze,
                                                datum,
                                                betaald,
                                                categorie,
                                                provider_id,
                                                (
                                                    SELECT
                                                        naam
                                                    FROM
                                                        providers
                                                    WHERE
                                                        id = provider_id
                                                ) provider_naam,
                                                (
                                                    SELECT
                                                        COUNT(1)
                                                    FROM
                                                        payment
                                                    WHERE
                                                        provider_id = pr.id
                                                    AND
                                                        lid_id = ".$info[id]."
                                                    AND
                                                        bedrag = p.bedrag
                                                ) aantal,
                                                c.id
                                            FROM
                                                payment p,
                                                providers pr,
                                                categorie c
                                            WHERE
                                                lid_id = ".$info[id]."
                                            AND
                                                provider_id = pr.id
                                            AND
                                                p.categorie = c.id
                                            ORDER BY
                                                provider_id,
                                                bedrag");
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Werkt niet sadley
0
Berichten
262
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
eerlijk gezegt is je mysql erg onduidelijk, waar wat weg komt. hier door ontstaat je GROUP BY fout.

geef eerst eens aan waar de select het vandaan komt? van de p ,pr of van de c??
en dan ga je alles op geven bij GROUP BY behalve de kolom waar je mee gaat reken.
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Daar ligt het niet aan hoor emo
0
Berichten
262
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
COUNT(1) veroorzaakt het probleem en door de GROUP BY in te verwerken los je het op.
maar jawink
0
Erik

Lid

Berichten
7.109
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Die COUNT(1) klopt gewoon hoor o/
0
Shahiem

Lid · Topicstarter

Berichten
20.364
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Opgelost door lieve erik biggrin
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren