Pokud jsou sloupce obou tabulek stejné, můžete použít UNION
SELECT X.*
FROM ( SELECT `id`,
`userID`,
'INVOICE' AS PTYPE
`amount`,
`date`
FROM `invoices`
WHERE {$userID} = userID
UNION
SELECT `id`,
`userID`,
'PAYMENT' AS PTYPE
`amount`,
`date`
FROM `payments`
WHERE {$userID} = userID
) X
ORDER BY X.`date`
UPRAVIT
Přečtěte si příslušnou část příručky MySQL na odborech. Existují i jiné způsoby, jak to formulovat, ale toto je můj preferovaný styl – každému, kdo čte, by mělo být jasné, že klauzule ORDER BY se vztahuje na výsledek obojí strany UNIE. Neopatrně napsaná UNION – dokonce i s ORDER BY – může stále ponechat konečný soubor výsledků v neurčitém pořadí.
Účelem PTYPE je, že tento dotaz vrací další sloupec nazvaný PTYPE, který udává, zda je každý jednotlivý řádek FAKTURA nebo PLATBA... tzn. ze které ze dvou tabulek pochází. Není to povinné, ale v rámci odborů může být často užitečné