添加常量字符串字段时,SQL 失败



>当我将常量字符串添加为字段时,我收到一条错误消息

以下是错误消息:

我想将表名添加为 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;

并集、相交和 except 需要相同数量的列(最好也是排序(。您有一个错误,即在除第一个选择之外的所有选择上复制 TIMESTAMP。

第一行包含 6 列,其余包含 7 列,因为在其余行中添加了两次额外的时间戳列。

联合

/联合所有联合的数据不是它加入列。因此,您还需要保持与类型相同的列数,以确保整个数据同步且一致

最新更新