当我将一个常量字符串添加为字段时,我收到一条错误消息
这是错误消息:
我想在SQL视图中将表名添加为我的行的列,我收到一条错误消息:
执行的SQL语句:
[...]
错误来源:.Net SQL客户端数据提供程序
错误消息:使用UNION,INTERSECT或EXCEPT运算符组合的所有查询必须具有相同数量的表达式及其目标列表。
SELECT Location, ClientID, Type_C, Todays_Date, '1100_vAC' as S_Table
FROM dbo.1100_vAC
UNION ALL
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1100_vAD' as S_Table
FROM dbo.1100_vAD
UNION ALL
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1101_AC' as S_Table
FROM dbo.1101_AC
UNION ALL
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1101_AA' as S_Table
FROM dbo.1101_AA
UNION ALL
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1102_AC' as S_Table
FROM dbo.1102_AC;
我想看看每一行的源表。
您应该更正您的代码(删除重复的time_stamp)
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1100_vAC' as S_Table
FROM dbo.1100_vAC
UNION ALL
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1100_vAD' as S_Table
FROM dbo.1100_vAD
UNION ALL
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1101_AC' as S_Table
FROM dbo.1101_AC
UNION ALL
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1101_AA' as S_Table
FROM dbo.1101_AA
UNION ALL
SELECT Location, ClientID, Type_C, Todays_Date, Time_Stamp, '1102_AC' as S_Table
FROM dbo.1102_AC;
union,intersect和except需要相同数量的列(最好是排序)。如果您在除第一个选项之外的所有选择上复制TIMESTAMP,则会出错。
第一行包含6列,其余包含7列,因为在其余行中添加了两次额外的时间戳列。
Union / union所有联合数据并不是它加入列。因此,您需要保留相同类型的列,以确保整个数据同步且一致