Autor | Zpráva | ||
---|---|---|---|
Venca190 Profil * |
#1 · Zasláno: 20. 12. 2015, 16:15:58
Dobrý den, mám dvě tabulky, které nemaj stejnou strukturu(cca 2 sloupce jsou rozdílné).
Potřeboval bych, teď vypsat všechny data co jsou v tabulce A i v tabulce B a seřadit je podle času(název sloupce je shodný v obouch tabulkách). Dá se to nějak řešit? Tabulky jinak na sebe nemaj žádnou návaznost(takže INNER JOIN apod nepotřebuji). |
||
lionel messi Profil |
Venca190:
SELECT t1.*, t2.* FROM tabulka1 t1 JOIN tabulka2 t2 ON t1.id = t2.id WHERE t1.id = t2.id ORDER BY t1.cas |
||
Venca190 Profil * |
#3 · Zasláno: 20. 12. 2015, 16:27:03
lionel messi:
díky, ale tohle je kdyby na sebe tabulky měly návaznost ne? Popřípadě jak bych vypsal z tabulky A sloupec "lon_2", který v tabulce B není a pak z tabulky B sloupec "cat_5", který se nenachází zas v tabulce A. A sloupec "ion_2", který se nachází v obouch tabulkach? |
||
Alphard Profil |
#4 · Zasláno: 20. 12. 2015, 16:38:08
Zní to jako případ pro union. Výběr sloupců zvolte tak, aby se shodovaly, některé můžete vynechat, nebo naopak nahradit prázdnou hodnotou.
|
||
Keeehi Profil |
#5 · Zasláno: 20. 12. 2015, 16:38:31
SELECT * FROM t1 UNION SELECT * FROM t2 Pro union musejí mít výsledné výpisy stejný počet sloupců. Jestli to kde řadit, to nevím vyzkoušel bych SELECT * FROM (SELECT * FROM t1 UNION SELECT * FROM t2) t ORDER BY cas |
||
Alphard Profil |
#6 · Zasláno: 20. 12. 2015, 16:43:35
K tomu řazení doplním, že poddotaz není potřeba, pro seřazení všech spojených záznamů stačí
(SELECT a FROM t1 WHERE a=10 AND B=1) UNION (SELECT a FROM t2 WHERE a=11 AND B=2) ORDER BY a LIMIT 10; |
||
Časová prodleva: 9 let
|
0