[SQL] queries optellen *

Pagina: 1
Acties:
  • 417 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bij deze had ik een vraagje of het mogelijk is 2 querie resultaten in 1 querie te laten zien??

Of is het mogelijk in php 2 querie resultaten bij elkaar op te tellen.
Je hebt dna dezelfde gebruikersnaam met een getal er langs en hij moet dan 2 getallen bij elkaar optellen.
Dus 2 queries optellen.

Is het mogelijk en hoe???? 8)7

Acties:
  • 0 Henk 'm!

Verwijderd

mysql_num_rows en de resultaten daarvan bij elkaar optellen..

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Het liefst zou ik 2 querys in sql langs elkaar willen laten zien, kan dat ook :X

Acties:
  • 0 Henk 'm!

Verwijderd

Aangezien ik je vraag niet helemaal begijp (dus wat meer uitleg zou fijn zijn), kan ik je nu alleen maar zeggen dat je het misschien kan proberen met JOIN.
Als ik begrijp dat dat is wat je bedoeld...

Acties:
  • 0 Henk 'm!

  • RupS
  • Registratie: Februari 2001
  • Laatst online: 17-07 14:45
Als het om dezelfde gebruikersnaam gaat met een serie getallen, dan kan je toch een SUM() icm. een GROUP BY doen?

Laat anders de queries eens zien waar het om gaat, dat "praat" wat makkelijker :)

Acties:
  • 0 Henk 'm!

Verwijderd

SUM ??? of met een join beide waardes ophalen, die je via php optelt???

edit:
net te laat...

[ Voor 18% gewijzigd door Verwijderd op 02-04-2004 10:34 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Nou ik zal die query wel ff posten

SELECT g.g_gebruikersnaam AS naam1, COUNT(v.v_eind_team1 ) AS Score1
FROM gebruikers g, voorspelling v, wedstrijden w
WHERE v.w_id = w.w_id AND g.g_id = v.g_id


SELECT g.g_gebruikersnaam AS naam, COUNT(v.v_eind_team1) AS Score2
FROM gebruikers g, voorspelling v, wedstrijden w
WHERE v.w_id = w.w_id GROUP BY g.g_gebruikersnaam


In de where haalt ie bij de bovenste een bepaald criterica en bij de 2e haalt ie weer een ander criterica.Maar ze hebben dus verschillende waardes die bij elkaar om moeten worden geteld.
Het liefst zou ik dus beide waardes naast elkaar willen zien.
Zodat je ze in php makkelijk kan optellen :)


p.s Wegens dat er meer mensen bezig zijn met dezelfde opdracht, kan ik nietd e voledige querie laten zien.Maar het geen wat nuttig is voor de oplossing heb ik wel laten zien

[ Voor 13% gewijzigd door Verwijderd op 02-04-2004 10:42 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Lijkt me een JOIN gevalletje

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 02 april 2004 @ 10:41:
Lijkt me een JOIN gevalletje
Maar hij telt dus 2x uit dezelfde kolom met een verschillend criterica dan snapt hij bij de where toch niks meer van die count?Welke count bij welke hoort???

Acties:
  • 0 Henk 'm!

Verwijderd

Tsjah, daar zit wel wat in idd, maar gewoon bij elkaar optellen is niet mogelijk ofzo ? Ik bedoel, waarom zo moeilijk ?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Verwijderd schreef op 02 april 2004 @ 11:00:
Tsjah, daar zit wel wat in idd, maar gewoon bij elkaar optellen is niet mogelijk ofzo ? Ik bedoel, waarom zo moeilijk ?
Jah het klinkt logisch maar hoe je het doet??

Voor een juiste score krijg je 2 punten en voor het juist voorspelde winnende team krijg je ook 2 punten. Nou bijv: Nederland - Duitsland wordt 2-1, en harry voorspeld ook 2-1. dan krijgt hij dus 2 punten omdat hij juist had dat nederland zou winnen, en 2 punten omdat hij de score goed had, en de 2punten van het winnende team staat in een aparte query, en de score staat in een aparte query, alleen de GROTE vraag: hoe tel je die op?????? of hoe laat je die 2 waardes langs elkaar zien?????
Je moet ze n.l. beiden apart berekenen :X

Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

UNOIN >> Ik bedoel natuurlijk UNION ... 8)7
Tempory table?

[ Voor 48% gewijzigd door LuCarD op 02-04-2004 11:10 ]

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dat werkt niet :O

Acties:
  • 0 Henk 'm!

  • Maasluip
  • Registratie: April 2002
  • Laatst online: 17:15

Maasluip

Frontpage Admin

Kabbelend watertje

Uit je voorbeeldje, ik neem aan dat je Score1 en Score 2 bij elkaar wil optellen?

In Oracle zou ik het zo doen:

select a.naam1,
       a.score1+b.score2
from (SELECT g.g_gebruikersnaam AS naam1, COUNT(v.v_eind_team1 ) AS Score1 
        FROM gebruikers g, voorspelling v, wedstrijden w
       WHERE v.w_id = w.w_id AND g.g_id = v.g_id
     ) a,
     ( SELECT g.g_gebruikersnaam AS naam, COUNT(v.v_eind_team1) AS Score2
       FROM gebruikers g, voorspelling v, wedstrijden w
       WHERE v.w_id = w.w_id GROUP BY g.g_gebruikersnaam 
     ) b
where a.naam1 = b.naam

Als je ze in twee verschillende kolommen wil zien kun je natuurlijk
select a.naam1,
       a.score1,
       b.score2
from ...
doen

Signatures zijn voor boomers.


Acties:
  • 0 Henk 'm!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 01-09 10:26
Verwijderd schreef op 02 april 2004 @ 10:40:
Nou ik zal die query wel ff posten

SELECT g.g_gebruikersnaam AS naam1, COUNT(v.v_eind_team1 ) AS Score1
FROM gebruikers g, voorspelling v, wedstrijden w
WHERE v.w_id = w.w_id AND g.g_id = v.g_id


SELECT g.g_gebruikersnaam AS naam, COUNT(v.v_eind_team1) AS Score2
FROM gebruikers g, voorspelling v, wedstrijden w
WHERE v.w_id = w.w_id GROUP BY g.g_gebruikersnaam


In de where haalt ie bij de bovenste een bepaald criterica en bij de 2e haalt ie weer een ander criterica.Maar ze hebben dus verschillende waardes die bij elkaar om moeten worden geteld.
Het liefst zou ik dus beide waardes naast elkaar willen zien.
Zodat je ze in php makkelijk kan optellen :)


p.s Wegens dat er meer mensen bezig zijn met dezelfde opdracht, kan ik nietd e voledige querie laten zien.Maar het geen wat nuttig is voor de oplossing heb ik wel laten zien
Op basis van je queries snap ik je probleem nog minder eerlijk gezegd. Beiden selecteren ze dezelfde gegevens, en alleen je group by is anders! Ik zie niet in waarom je dit niet in 1 query kan doen.

Ik zal wel wat cruciaals missen doordat je de incomplete queries hebt gepost.

Als je de resultsets wilt koppelen kan je waarschijnlijk aan de hand van een of twee for/while loop(s) de hele bende aan elkaar koppelen in een nieuwe array, die je dan kan gebruiken in je verdere code.

In php zou je d'r zoiets van kunnen maken (uit de losse hand):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
// Zet benodigde waarden uit query1 in $nieuwarray, met als key een id of naam 
// (whatever is in $res1[0] :))
for ($i=0; $res1 = mysql_fetch_row($rs1); $i++) {
    $nieuwearray[$res1[0]]['waarde_uit_query1'] = $res1[1];
}

// Zelfde, maar nu voor query2, $res2[0] bevat hetzelfde als $res1[0] hierboven.
for ($i = 0; $res2 = mysql_fetch_row($rs2); $i++) {
    $nieuwearray[$res2[0]]['waarde_uit_query2'] = $res2[1];
}

// in $nieuwearray zitten nu de gekoppelde waarden


Ofzo ..

Misschien kan je voortaan wat duidelijker zijn, ondanks dat 't om een 'opdracht' gaat. Zo is d'r nogal moeilijk te bepalen of een oplossing van toepassing is op je probleem.

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
PhoeniX- schreef op 02 april 2004 @ 11:20:
[...]

Op basis van je queries snap ik je probleem nog minder eerlijk gezegd. Beiden selecteren ze dezelfde gegevens, en alleen je group by is anders! Ik zie niet in waarom je dit niet in 1 query kan doen.

Ik zal wel wat cruciaals missen doordat je de incomplete queries hebt gepost.

Als je de resultsets wilt koppelen kan je waarschijnlijk aan de hand van een of twee for/while loop(s) de hele bende aan elkaar koppelen in een nieuwe array, die je dan kan gebruiken in je verdere code.

In php zou je d'r zoiets van kunnen maken (uit de losse hand):
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
// Zet benodigde waarden uit query1 in $nieuwarray, met als key een id of naam 
// (whatever is in $res1[0] :))
for ($i=0; $res1 = mysql_fetch_row($rs1); $i++) {
    $nieuwearray[$res1[0]]['waarde_uit_query1'] = $res1[1];
}

// Zelfde, maar nu voor query2, $res2[0] bevat hetzelfde als $res1[0] hierboven.
for ($i = 0; $res2 = mysql_fetch_row($rs2); $i++) {
    $nieuwearray[$res2[0]]['waarde_uit_query2'] = $res2[1];
}

// in $nieuwearray zitten nu de gekoppelde waarden


Ofzo ..

Misschien kan je voortaan wat duidelijker zijn, ondanks dat 't om een 'opdracht' gaat. Zo is d'r nogal moeilijk te bepalen of een oplossing van toepassing is op je probleem.
Ut punt is het zijn 2 verschillende criterica, dus daardoor heb je 2 veerschillende waardes en niet dezelfde ;)

Acties:
  • 0 Henk 'm!

  • PhoeniX-
  • Registratie: Juni 2000
  • Laatst online: 01-09 10:26
Verwijderd schreef op 02 april 2004 @ 11:51:
[...]
Ut punt is het zijn 2 verschillende criterica, dus daardoor heb je 2 veerschillende waardes en niet dezelfde ;)
Ja, daar ben ik m'n voorbeeld ook vanuit gegaan.

Acties:
  • 0 Henk 'm!

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 06-09 00:37

curry684

left part of the evil twins

Sorry hoor, maar na 16 posts snap ik hier nog steeds geen ruk van. Lees P&W FAQ - De "quickstart" en de onopvalled genaamde sticky *!*!* Over topictitels in P&W - Updated 25 feb 04 *!*!* eens en start dan een bruikbaar topic dat wel duidelijk illustreert wat je wil, wat je hebt gedaan, hoe je het van plan bent te doen etc. etc.

Tis hier geen quiz "raad het probleem" :/

Professionele website nodig?

Pagina: 1

Dit topic is gesloten.