Desktop: i5-14600K, 32GB DDR5-6000, RTX 5070 Ti; Laptop: MacBook Pro M1 Pro 14" 16/512; Server: R9-7950X, 192GB DDR5-5600
Kent MySQL het UNION statement?
dan kun je iets doen als
dan kun je iets doen als
SQL:
1
2
3
4
| SELECT SUM(value) FROM (SELECT tbla.value AS value FROM tbla UNION SELECT tblb.value AS value FROM tblb) |
Wil je niet gewoon:
SQL:
of heeft een ID meerdere occurences?
1
2
3
4
| SELECT tbla.value+tblb.value AS totaal FROM tbla, tblb WHERE tbla.id = tblb.id GROUP BY id |
Union snapt ie volgens mij wel, maar het gebruik van subqueries valt mysql (gebruik versie 4) over, met als gevolg dat de query niet werkt.PhysicsRules schreef op donderdag 13 juli 2006 @ 17:56:
Kent MySQL het UNION statement?
dan kun je iets doen als
SQL:
1 2 3 4 SELECT SUM(value) FROM (SELECT tbla.value AS value FROM tbla UNION SELECT tblb.value AS value FROM tblb)
@moozzuzz: ja, de id komt vaker dan eens voor. Ik zal de zaken even ietsje proberen te verduidelijken:
tbla:
> aid
> id (eigenlijk userid maar id was makkelijker voor het voorbeeld)
> value
tblb:
> bid
> id (idem als boven)
> value
> nog wat velden
van tbla moet er van alle records met id=iets een som gemaakt worden van de value kolom. Datzelfde voor tblb en die twee resultaten moeten bij elkaar opgeteld worden.
Desktop: i5-14600K, 32GB DDR5-6000, RTX 5070 Ti; Laptop: MacBook Pro M1 Pro 14" 16/512; Server: R9-7950X, 192GB DDR5-5600
SQL:
1
2
3
4
| SELECT tbla.id, SUM(tbla.value + tblB.Value) as TotaalValueBeideTabellenPerId FROM tbla INNER JOIN tblb ON tbla.id = tblb.id GROUP BY tbla.Id |
Bovenstaande geeft dus per occurance van id het toaal van a.value en b.value.
[ Voor 5% gewijzigd door P_de_B op 13-07-2006 20:54 . Reden: rml gefixt ]
Oops! Google Chrome could not find www.rijks%20museum.nl
Aangezien je inderdaad een (impliciete) inner join gebruikt wil je dus kennelijk het totaal van de sommen(A+B) hebben, hetgeen hetzelfde is als de som van de totalen in dit geval.
Bovenstaande zou dus precies het goede antwoord moeten geven.
Bovenstaande zou dus precies het goede antwoord moeten geven.
En dat doet het ookDido schreef op donderdag 13 juli 2006 @ 21:00:
Aangezien je inderdaad een (impliciete) inner join gebruikt wil je dus kennelijk het totaal van de sommen(A+B) hebben, hetgeen hetzelfde is als de som van de totalen in dit geval.
Bovenstaande zou dus precies het goede antwoord moeten geven.
Bedankt!
Desktop: i5-14600K, 32GB DDR5-6000, RTX 5070 Ti; Laptop: MacBook Pro M1 Pro 14" 16/512; Server: R9-7950X, 192GB DDR5-5600
Pagina: 1