Hallo allemaal,
Waarom kan dit niet in MySQL, en is er ook een oplossing voor:
SELECT SUM(col1 * col2) as col3, col3 + col4 as col5
En wat niet lukt is dus col3 + col4. Dan zegt hij dat col3 niet bestaat.
Groeten,
René
- Nog een klein probleempje
-
05-06-2009, 17:19 #1
- Berichten
- 571
- Lid sinds
- 17 Jaar
Nog een klein probleempje
-
In de schijnwerper
Gastartikelen plaatsen op échte websites met bezoekers en goede domeinwaarden?!SEO/LinkbuildingProfessionele tekstschrijver (actie: 2,5 cent per woord)Freelance / WerkOutreachxxl.com || Outreach/linkbuilding zelf doen? Internationaal. Laagste prijzenFreelance / WerkZeer ervaren programmeur beschikbaar | web, api & appFreelance / Werk -
05-06-2009, 17:44 #2
- Berichten
- 1.053
- Lid sinds
- 17 Jaar
SUM is het resultaat na een 'group' van records, mogelijk dus pas aan het einde van de query? Omdat dit over meerdere rijen gaat, is daar niet één col4 (uit welke rij?) bij op te tellen, volgens mij. Leg eens uit wat je probeert te bewerkstelligen.
Zoiets zou mogelijk wel werken, maar weet niet of dit hetgeen is wat je probeert te bereiken:
SELECT
(SELECT SUM(`t1`.`col1` * `t1`.`col2`) FROM `table` `t1`) as `col3`,
`col3` + `t2`.`col4` as `col5`
FROM `table` `t2`
Edit: Ik weet niet of die '*' geldig is als multiplier, omdat het ook als "wildcard" gebruikt wordt.Laatst aangepast door Robert de W : 05-06-2009 om 17:52
-
05-06-2009, 17:58 #3
- Berichten
- 571
- Lid sinds
- 17 Jaar
De sql staat in de bijlage
PHP Code:(SELECT
SUM(amount * rate)
FROM
portfolio
JOIN
rates
ON
portfolio.fund=rates.fund
WHERE
user=members.user
) as stock,
PHP Code:IFNULL(stock, 0) + money - loan as networth
PHP Code:(SELECT
IFNULL(SUM(amount * rate), 0)
FROM
portfolio
JOIN
rates
ON
portfolio.fund=rates.fund
WHERE
user=members.user
) + money - loan as networth
-
05-06-2009, 18:00 #4
- Berichten
- 571
- Lid sinds
- 17 Jaar
De code werkt dus wel, maar hij vraag iets dubbel aan en dat gaat ten koste van de snelheid.
Aanvullend bericht:
Die * staat vermenigvuldigd gewoon.Laatst aangepast door René Vennik : 05-06-2009 om 18:11 Reden: Automatisch samengevoegd.
-
05-06-2009, 19:55 #5
- Berichten
- 1.053
- Lid sinds
- 17 Jaar
Pff het ruigere natte vinger werk brengt mij op zoiets
PHP Code:SELECT
IFNULL(SUM(`p`.`amount` * `r`.`rate`), 0) as `stock`,
`stock` + `m`.`money` - `m`.`loan` as `networth`
FROM `members` `m`
INNER JOIN
( `portfolio` `p`
INNER JOIN `rates` `r` USING (`fund`)
) USING (`user`)
WHERE `m`.`activation` = 1
GROUP BY `m`.`user`
ORDER BY `networth` DESC
Laatst aangepast door Robert de W : 05-06-2009 om 20:05
Plaats een
- + Advertentie
- + Onderwerp
Marktplaats
Webmasterforum
- Websites algemeen
- Sitechecks
- Marketing
- Domeinen algemeen
- Waardebepaling
- CMS
- Wordpress
- Joomla
- Magento
- Google algemeen
- SEO
- Analytics
- Adsense
- Adwords
- HTML / XHTML
- CSS
- Programmeren
- PHP
- Javascript
- JQuery
- MySQL
- Ondernemen algemeen
- Belastingen
- Juridisch
- Grafisch ontwerp
- Hosting Algemeen
- Hardware Info
- Offtopic