Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Łączenie tabel i kolumn w jedną
kukimax
post 26.02.2011, 11:17:17
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.01.2011

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


Witam,
Mam 2 tabele z 2 różnymi kolumnami o tej samej nazwie (email), jakie powinno być zapytanie do MySQL aby połączyć te 2 kolumny w jedną?

Z góry dziękuję za odpowiedź
Go to the top of the page
+Quote Post
sazian
post 26.02.2011, 12:59:25
Post #2





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


  1. SELECT concat(t1.email,t2.email) FROM tabela1 t1
  2. JOIN tabela2 t2 ON t1.id=t2.id
Go to the top of the page
+Quote Post
kukimax
post 26.02.2011, 16:44:22
Post #3





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.01.2011

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


sazian
Ale ja nie chce mieć np. takiego wyniku:
mail1@domena.plmail35@domena.pl

Tylko mam takie tabele:
Tabela1:
Email:
Mail1@domena.pl
Mail2@domena.pl
Mail3@domena.pl

Tabela2:
Email:
Mail54@domena.pl
Mail53@domena.pl
Mail1@domena.pl
Mail35@domena.pl

I chce mieć taki wynik:
Mail1@domena.pl
Mail2@domena.pl
Mail3@domena.pl
Mail35@domena.pl
Mail53@domena.pl
Mail54@domena.pl
Go to the top of the page
+Quote Post
mortus
post 26.02.2011, 16:55:30
Post #4





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Można spróbować tak:
  1. (SELECT t1.email AS email FROM t1) UNION DISTINCT (SELECT t2.email AS email FROM t2) ORDER BY email ASC
Go to the top of the page
+Quote Post
kukimax
post 26.02.2011, 19:21:55
Post #5





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 21.01.2011

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


Wielkie dzięki mortus, ale mam jeszcze jedno pytanie jak wyświetlić ilość rekordów do tego zapytania przy pomocy funkcji COUNT?
Go to the top of the page
+Quote Post
mortus
post 26.02.2011, 19:57:51
Post #6





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


Jeśli to nie musi być zrobione po stronie bazy danych, to skorzystaj z PHP i mysql_num_rows. Jeżeli chcesz policzyć to zapytaniem, to otrzymasz tylko liczbę wszystkich emaili, a wyglądałoby to tak:
  1. SELECT COUNT(*) FROM ((SELECT t1.email AS email FROM t1) UNION DISTINCT (SELECT t2.email AS email FROM t2)) AS emails


@down: nie do końca, bo wtedy uwzględnaisz powtarzające się adresy email, a właśnie o to chodzi, żeby ich nie uwzględniać.

Ten post edytował mortus 26.02.2011, 20:02:10
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: 31.07.2025 - 08:38