我有一种情况,我必须在输出中获得一列,两次。
查询示例:
SELECT
EMP_JOIN_MONTH AS EMP_JOIN_MONTH_TEST,
EMP_JOIN_MONTH AS EMP_JOIN_MONTH_TEST
FROM
EMPLOYEE
WHERE
EMP_ID IN (12345)
GROUP BY
EMP_JOIN_MONTH, EMP_JOIN_MONTH
ORDER BY
EMP_JOIN_MONTH_TEST ASC
OFFSET 0 ROWS FETCH NEXT 1000 ROWS ONLY;
在MySQL中,我得到的列比预期的多了两倍。但是不在Microsoft SQL Server中。
我们将不胜感激。
答案 0 :(得分:0)
您需要为所有单独的列使用不同的别名:
create table EMPLOYEE( EMP_ID int, EMP_JOIN_MONTH varchar(20));
insert into EMPLOYEE values(12345,'March');
insert into EMPLOYEE values(12345,'March');
SELECT
EMP_JOIN_MONTH AS EMP_JOIN_MONTH_TEST1,
EMP_JOIN_MONTH AS EMP_JOIN_MONTH_TEST2
FROM
EMPLOYEE
WHERE
EMP_ID IN (12345)
GROUP BY
EMP_JOIN_MONTH
ORDER BY
EMP_JOIN_MONTH_TEST1 ASC
OFFSET 0 ROWS FETCH NEXT 1000 ROWS ONLY;
EMP_JOIN_MONTH_TEST1 EMP_JOIN_MONTH_TEST2
-------------------- --------------------
March March