Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sumowanie dwóch kolum
Forum PHP.pl > Forum > Bazy danych > MySQL
Majzer
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!
nospor
  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
Majzer
  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
SongoQ
Nie mozesz uzyc w tym miejscu aliasu. Aby 2 razy nie wyliczal mozesz np zrobic podzapytanie.
Majzer
Masz jakiś pomysł? Bo ja nie...
nospor
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ą?
SongoQ
@nospor Ladnie. Zawsze znajdzie sie ktos kto wymysli lepsze rozwiazanie.
nospor
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
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.