Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] grupowanie 2 tabel
maciu
post
Post #1





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


mam 2 tabele o identycznej strukturze

tabela1
id author
1 autor1
2 autor2
3 autor3
4 autor1

tabela2
id author
1 autor2
2 autor1
3 autor3
4 autor2

i teraz chcę wyciągnąć dane ile rekordów jest przypisanych do danego autora (kolumna author)
Dla jednej tabeli zapytanie wyglada tak
  1. SELECT author COUNT(*) AS ile FROM tabela GROUP BY author

ale nie wiem, jak zrobić to dla dwóch tabel. Próbówałem przez operacje UNION, ale wtedy nie mogłem pogrupować danych według autora.
Go to the top of the page
+Quote Post
Norbas
post
Post #2





Grupa: Zarejestrowani
Postów: 100
Pomógł: 1
Dołączył: 6.02.2006

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


Jeżeli wiadomo, że autorzy występują w obu tabelkach, to w zapytaniu ma być zwykłe złączenie tabel z odpowiednim warunkiem WHERE i grupowaniem.

W przeciwnym wypadku trzeba uwzględnić sytuacje, gdy autor jest tylko w tabela1 albo tylko w tabela2, czyli dwa zapytania SELECT złączone UNION z odpowiednimi warunkami i grupowaniem po każdym poleceniu SELECT.


--------------------
Go to the top of the page
+Quote Post
maciu
post
Post #3





Grupa: Zarejestrowani
Postów: 238
Pomógł: 1
Dołączył: 27.08.2003

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


już sobie poradziłem
  1. SELECT author, COUNT(*) AS ile FROM (SELECT author FROM tabela1nt UNION ALL SELECT author FROM tabela2) AS tabela3 GROUP BY author ORDER BY ile
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 Aktualny czas: 22.08.2025 - 05:19