Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [sql] SUMa iloczynu
cornholio666
post
Post #1





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Witam,

mam tabele

id|cena1|cena2| p_id
1 | 1 | 2 | 1
2 | 3 | 4 | 1
3 | 5 | 6 | 1
4 | 1 | 2 | 2
5 | 3 | 4 | 2
6 | 5 | 6 | 2


Chciałbym zrobić sume iloczynu:

  1. SELECT SUM(cena1 * cena2) FROM tabela GROUP BY p_id


czyli 1*2 + 3*4 + 5*6

Niestety jakieś fałszywe wyniki mi pokazuje
Go to the top of the page
+Quote Post
rolnix
post
Post #2





Grupa: Zarejestrowani
Postów: 115
Pomógł: 0
Dołączył: 16.04.2005
Skąd: Białowieża

Ostrzeżenie: (0%)
-----


Bunghole in one ;)

Spróbuj "SUM(cena1 * cena2) as `wartosc`", po czym wyciągać jako 'wartosc'. Jakie dokładnie wyniki zwraca?
Go to the top of the page
+Quote Post
cornholio666
post
Post #3





Grupa: Zarejestrowani
Postów: 472
Pomógł: 8
Dołączył: 14.03.2004
Skąd: Rzeszów

Ostrzeżenie: (0%)
-----


Ok bo za szybko napisalem. Ten przyklad z 1 posta jest ok ale głownie chodzi mi doklanie o ten przypadek:

(IMG:http://bmsource.nazwa.pl/jj/xxx.jpg)


  1. SELECT a.abonament_id,mies_cena.mies,dar_roz.dar, SUM(mies_cena.mies+dar_roz.dar) AS wynik
  2.  
  3. FROM abonament AS a,
  4.  
  5. (SELECT mc.abonament_id,SUM(mc.ilosc_miesiecy*mc.cena) AS mies
  6. FROM miesiac_cena AS mc
  7. GROUP BY mc.abonament_id) mies_cena,
  8.  
  9. (SELECT dm.abonament_id,SUM(dm.ilosc_miesiecy * dm.ilosc_minut * dm.cena) AS dar
  10. FROM darmowe_minuty AS dm
  11. GROUP BY dm.abonament_id) dar_roz
  12.  
  13.  
  14. WHERE a.abonament_id = 17
  15. GROUP BY a.abonament_id


Podaje mi zle wyniki.

Ten post edytował cornholio666 4.11.2007, 17:34:25
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 19:52