2010-02-11 90 views
0

我需要將多個表與Microsoft Access中的不同結構聯合使用。Microsoft Access 2003 SQL問題

例如,我有表:

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

SQL看起來如下:

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; 

但有時MS訪問顯示關於不兼容類型的錯誤消息。

我想這是因爲產生的列在一個SELECT空值必須與另一個選擇

相應不自動生成列不兼容的類型是有辦法指定與空自動生成的列的類型?

+0

爲什麼你需要的UNION?如果它不是數據按鈕/導入操作,看起來像一個模式問題。 – 2010-02-12 19:05:02

回答

0

如何用空字符串替換空字符串('')?

例如,

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;