Mysql
 sql >> Database >  >> RDS >> Mysql

MySql SELECT union per colonne diverse?

Se hai campi diversi che hanno anche un significato diverso, non puoi e non devi restituirli nella stessa posizione. Puoi comunque 'riempire gli spazi vuoti' aggiungendo null ai tuoi campi, in questo modo:

select id, name, date, null as userid, 'A' as recordtype from table1
union all
select id, name, null /*as date*/, userid, 'B' as recordtype from table2 

Puoi fornire un alias per il null nella prima selezione. Puoi aggiungere alias nella seconda selezione per chiarezza, ma non verrà utilizzato. Puoi persino utilizzare valori costanti che puoi utilizzare per distinguere il tipo di record in un secondo momento.