Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łączenie tabel i kolumn w jedną
Forum PHP.pl > Forum > Bazy danych > MySQL
kukimax
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ź
sazian
  1. SELECT concat(t1.email,t2.email) FROM tabela1 t1
  2. JOIN tabela2 t2 ON t1.id=t2.id
kukimax
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
mortus
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
kukimax
Wielkie dzięki mortus, ale mam jeszcze jedno pytanie jak wyświetlić ilość rekordów do tego zapytania przy pomocy funkcji COUNT?
mortus
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ć.
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.