L'approccio suggerito da UNION Akash e Juergen è vitale, ma richiede un po 'più di lavoro:
- Identificare quali colonne sono condivise da entrambe le tabelle.
- Identificare quali colonne sono specifiche per una delle tabelle.
- Scrivere una query che unisce tutte le colonne di entrambe le tabelle, con le colonne comuni che appaiono nelle stesse posizioni in entrambe le clausole di selezione e valori nulli che sostituiscono le colonne specifiche della tabella. Probabilmente vorrai anche una colonna per indicare quali file provengono da quali tabelle.
Così, per esempio, prendere in considerazione le tabelle con le seguenti strutture:
Projects
--------
ID
Name
Budget
Users
-----
ID
Name
PhoneNo
alla lista dei risultati da entrambe le tabelle, si potrebbe utilizzare una query come:
select 'Projects' table_name, ID, Name, null as PhoneNo, Budget from Projects
union all
select 'Users' table_name, ID, Name, PhoneNo, null as Budget from Users
seconda del RDBMS , potrebbe essere necessario convertire esplicitamente i valori null nel tipo di dati richiesto.
fonte
2012-03-14 09:20:11
In questa risposta mi manca la provenienza di stmt. Mi rendo conto che stmt è una dichiarazione preparata, ma non è chiaro. –