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 zrobił to mniej-więcej tak:

  1. SELECT COUNT(t1.id) AS suma_t1, COUNT(t2.id) AS suma_t2, t1.id AS t1_id, t2.id AS t2_id
  2. FROM Profile p
  3. LEFT JOIN Team t1 ON p.favorite_team_1_id = t1.id
  4. LEFT JOIN Team t2 ON p.favorite_team_2_id = t2.id
  5. GROUP BY t1.id, t2.id
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: 14.10.2025 - 23:58