如何从一个表中组合2个select语句和两列的输出?

时间:2017-11-06 05:03:19

标签: sql-server

我是Sqlserver上的新手 这是我的桌子。

 req
 61-01-0001
 61-02-0002
 61-03-0004
 61-04-0005

这是我的SQL查询。

SELECT MAX(RIGHT(req,4))as rq FROM tbl_inv_req  
UNION  
SELECT Substring(req,4,2) as rs  FROM tbl_inv_req

这里输出

 rq
 0001
 0002
 0004
 0005

我希望输出看起来像。

 rq       rs
----     ----
 0001     01
 0002     02
 0004     03
 0005     04

请告诉我在我的SQL查询中错过了什么。 提前感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

SELECT
 MAX(RIGHT(req, 4)) AS rq,
 SUBSTRING(req_id, 4, 2) AS rs
FROM tbl_inv_req;

答案 1 :(得分:1)

无需使用UNION。您可以选择如下。

SELECT 
    RIGHT(req,4)as rq,
    Substring(req_id,4,2) as rs 
FROM 
    tbl_inv_req 

UNION将两个或多个查询的结果合并为一个结果。

评论:

SELECT 
    RIGHT(req,4) as rq,
    Substring(req_id,4,2) as rs 
FROM 
    tbl_inv_req 
WHERE
    RIGHT(req,4) = '0005' AND
    Substring(req_id,4,2) = '04'