Sql 使用union将数据类型varchar转换为bigint时出错

Sql 使用union将数据类型varchar转换为bigint时出错,sql,Sql,查询: 错误: 将数据类型varchar转换为bigint时出错。在联合之后,列的顺序错误。以下是更正版本: SELECT TOP (1) '-1' AS hrempid, 'All employees' AS fullname FROM employee UNION SELECT fullname, hrempid FROM employee AS employee1 order by fullname 更妙的是,使用类似这样的方法: SELECT TOP (1) '-1' AS hr

查询:

错误:
将数据类型varchar转换为bigint时出错。

联合之后,列的顺序错误。以下是更正版本:

SELECT TOP (1) '-1' AS hrempid, 'All employees' AS fullname
FROM employee
UNION
SELECT fullname, hrempid
FROM employee AS employee1 
order by fullname
更妙的是,使用类似这样的方法:

SELECT   TOP (1) '-1' AS hrempid, 'All employees' AS fullname
FROM     employee
UNION
SELECT   hrempid, fullname
FROM     employee AS employee1 
ORDER BY fullname

hrempid
周围保留
,然后切换列。试试这个:

SELECT   CAST(-1 AS BIGINT) AS hrempid, 'All employees' AS fullname
UNION ALL
SELECT   hrempid, fullname
FROM     employee AS employee1 
ORDER BY fullname
SELECT TOP (1) 'All employees' AS fullname, -1 AS hrempid
FROM employee
UNION
SELECT fullname, hrempid
FROM employee AS employee1 
order by fullname