Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Sumowanie dwóch kolum, Jak zsumować wyniki zapytań
Majzer
post 23.08.2006, 11:02:34
Post #1





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.10.2003
Skąd: Myślenice

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


Stworzyłem zapytanie:

  1. SELECT COUNT(*) AS dom, (SELECT COUNT(*) FROM mmecze WHERE away_id = 1 AND home_gole < away_gole) AS wyjazd FROM mmecze WHERE home_id = '1' AND home_gole > away_gole


Na jego podstawie wychodzi coś takiego:

dom | wyjazd
----------------
2 | 1

Moje pytanie polega na tym: jak wykonać zapytanie, aby obok olumny `dom` i `wyjazd` wyswietliło sumę z tych obydwu kolumn? Kombinuje i kombinuje, ale jakoś nie wychodzi. Jeśli ktoś wie jak pomóc, z góry wielkie dzięki!
Go to the top of the page
+Quote Post
nospor
post 23.08.2006, 11:05:18
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




  1. SELECT pole1 AS a, pole2 AS b, (a + b ) AS c FROM tabela

A teraz se dostosuj na podstawie tego wzoru do siebie smile.gif


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Majzer
post 23.08.2006, 13:41:10
Post #3





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.10.2003
Skąd: Myślenice

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


  1. SELECT COUNT(*) AS dom, (SELECT COUNT(*) FROM mmecze WHERE away_id = 1 AND home_gole < away_gole) AS wyjazd, (dom + wyjazd) AS wygrane FROM mmecze WHERE home_id = '1' AND home_gole > away_gole


Wywala taki błąd:

#1054 - Nieznana kolumna 'dom' w field list
Go to the top of the page
+Quote Post
SongoQ
post 23.08.2006, 13:43:30
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


Nie mozesz uzyc w tym miejscu aliasu. Aby 2 razy nie wyliczal mozesz np zrobic podzapytanie.


--------------------
Go to the top of the page
+Quote Post
Majzer
post 23.08.2006, 13:58:45
Post #5





Grupa: Zarejestrowani
Postów: 16
Pomógł: 0
Dołączył: 7.10.2003
Skąd: Myślenice

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


Masz jakiś pomysł? Bo ja nie...
Go to the top of the page
+Quote Post
nospor
post 23.08.2006, 14:04:44
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Zapomnialem ze aliasow nie widzi...

No nic. Mozna byc dac zmienne:
  1. SELECT @a:=pole1 AS a, @b:=pole2 AS b, (@a + @b ) AS c FROM tabela;

To juz dziala bo sprawdzilem.

Niestety w twoim przypadku nie zadziala, gdyz uzywasz count(*) i będzie ci krzyczal ze nie masz group by.
Samo count(*) dziala bez group by tylko wtedy, gdy nie pobierasz innych pol.

Co chcesz osiągnąć? Moze inaczej sie to da zrobic. gdzie te dane trafiają?


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
SongoQ
post 23.08.2006, 14:14:38
Post #7





Grupa: Przyjaciele php.pl
Postów: 2 923
Pomógł: 9
Dołączył: 25.10.2004
Skąd: Rzeszów - studia / Warszawa - praca

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


@nospor Ladnie. Zawsze znajdzie sie ktos kto wymysli lepsze rozwiazanie.


--------------------
Go to the top of the page
+Quote Post
nospor
post 23.08.2006, 14:57:57
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Od biedy mozna tak:
  1. SELECT @a:=(SELECT COUNT(*) FROM mmecze WHERE home_id = '1' AND home_gole > away_gole) AS dom,
  2. @b:=(SELECT COUNT(*) FROM mmecze WHERE away_id = 1 AND home_gole < away_gole) AS wyjazd,
  3. (@a + @b ) AS suma;


Albo najlepiej sie nie czaic tylko union zrobic smile.gif. Ale to zalezy co chcesz osiagnac


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.06.2025 - 05:37