2010-02-11 8 views
0

J'ai besoin d'union plusieurs tables avec la structure différente dans Microsoft Access.Microsoft Access 2003 SQL Question

Par exemple, j'ai le tableau:

table1 (column_a,column_b,column_c), 
table2 (column_a,column_c), 
table3 (column_d) 

SQL ressemble suit:

SELECT table1 column_a,column_b,column_c, Null as column_d FROM Table1 
UNION 
SELECT table2 column_a,Null as column_b, column_c, Null as column_d FROM Table2 
UNION 
SELECT table3 column_a, Null as column_b, Null as column_c, Null as column_d 
FROM Table3; 

Mais parfois, MS Access affiche le message d'erreur sur les types incompatibles.

Je pense que cela à cause de colonnes générées avec des valeurs nulles dans un SELECT ont le type incompatible avec les colonnes correspondantes non générées automatiquement dans un autre SELECT

Est-il possible de spécifier le type de la colonne avec autogenerated null?

+0

Pourquoi avez-vous besoin de l'Union? Ressemble à un problème de schéma s'il ne s'agit pas d'une opération de massage/importation de données. –

Répondre

0

Qu'en est-il du remplacement des valeurs nulles par des chaînes vides ('')?

par exemple,

SELECT col_a, col_b,  col_c,  '' as col_d FROM Table1 
UNION 
SELECT col_a, '' as col_b, col_c,  '' as col_d FROM Table2 
UNION 
SELECT col_a, '' as col_b, '' as col_c, '' as col_d FROM Table3; 
Questions connexes