[MY SQL]jak wyszukiwać z dwóch podobnych tabel jednocześnie?


(gbartosz83) #1

mam 2 tabele załóżmy

t1 (a1, b, c)

oraz

t2 (a2, b, c)

chciałbym zrobić wyszukiwanie jednoczesne w obu tabelach, próbowałem za pomocą JOIN, i UNION ale za każdym razem mam problem z rozróżnieniem z jakiej tabeli pochodzi dany rekord, ponieważ

jak wiadomo UNION przysłania nazwę tabeli a2, a z kolei JOIN wyświetla rekordy z połączonych tabel więc też trudno rozróżnić które dane pochodzą z której tabeli


(pain3hp) #2

to napisz dwa zapytania i wrzucaj je do innych tablic i juz masz


(Grzelix) #3

myśle że w zapytaniu mógłbyś podać aliasy i w przypadku Join powinno zadziałać

np a.t1 as at1a, a.t2 as at2 ...


(gbartosz83) #4

chodzi o wyszukiwanie jednoczesne w jednym zapytaniu

niestety zmienia aliasy we wszystkich rekordach czyli nic to nie wnosi


(Kolas1986) #5

możesz zrobic widok z 2 tabel

create view view_table

as

select 

t1.a1 as a,

t1.b as b,

t1.c as c,

't1' as table_name

form table1 t1

union

select 

t2.a2 as a,

t2.b as b,

t2.c as c,

't2' as table_name

from table2 t2

co prawda jest to składnia z oracle, ale myśle ze w mysql powinna zadziałać

po stworzeniu takiego widoku możesz zrobic jednego selecta na nim,

kolumna table_name pozwoli rozróżnić z której tabeli jest wiersz


(gbartosz83) #6

dzięki wielkie za pomoc