繁体   English   中英

Microsoft Access 2003 SQL问题

[英]Microsoft Access 2003 SQL Question

我需要在Microsoft Access中合并具有不同结构的多个表。

例如我有表:

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 Access会显示有关不兼容类型的错误消息。

我认为这是因为在一个SELECT中生成的具有空值的列的类型与另一个SELECT中相应的未自动生成的列不兼容

有没有办法用null指定自动生成的列的类型?

用空字符串('')替换Null怎么办?

例如,

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM