Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak zastąpić w tym przykładzie operator UNION
damianooo
post
Post #1





Grupa: Zarejestrowani
Postów: 496
Pomógł: 2
Dołączył: 15.07.2011
Skąd: Katowice

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


Witam , mam taki przykład:

SELECT sum(ile) as suma, name FROM (

SELECT count(p.id) as ile,t.name
FROM Profile p
INNER JOIN Team t
ON p.favorite_team_1_id = t.id
GROUP BY t.name

UNION

SELECT count(p.id) as ile,t.name
FROM Profile p
INNER JOIN Team t
ON p.favorite_team_2_id = t.id
GROUP BY t.name

) a GROUP BY name ORDER BY suma

Potrzebuję zsumować wyniki dwóch zapytań i chciałbym to zrobić bez użycia UNIONa. Można to zrobić inaczej ?

proszę o podpowiedź, dzięki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
sowiq
post
Post #2





Grupa: Zarejestrowani
Postów: 1 890
Pomógł: 339
Dołączył: 14.12.2006
Skąd: Warszawa

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


Ja bym to chyba zrobił mniej-więcej tak:
  1. SELECT COUNT(1) AS count, t.name
  2. FROM (
  3. SELECT favorite_team_1_id AS ft FROM Profile p WHERE favorite_team_1_id IS NOT NULL
  4. UNION
  5. SELECT favorite_team_2_id AS ft FROM Profile p WHERE favorite_team_2_id IS NOT NULL
  6. ) p
  7. JOIN JOIN Team t ON p.ft = t.id
  8. GROUP BY t.name
  9. ORDER BY count DESC


Ten post edytował sowiq 10.05.2013, 14:33:57
Go to the top of the page
+Quote Post

Posty w temacie


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: 13.10.2025 - 17:24