Autor Zpráva
Venca190
Profil *
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 *
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
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
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
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;
(dev.mysql.com/doc/refman/5.7/en/union.html)

Vaše odpověď

Mohlo by se hodit

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0