2017-11-06 6 views
0

私はSqlserverの初心者です ここは私のテーブルです。2つのselect文と1つのテーブルの2つのカラムの出力を結合するにはどうすればよいですか?

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

これは私のSQLクエリです。ここで出力

rq 
0001 
0002 
0004 
0005 

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

私は、出力が見えるようにしたいです。

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

pls私のSQLクエリーで何が間違っているか教えてください。 いつものように前もって助けてくれてありがとう。

+0

不要ここに労働組合を使用している場合、あなたが2列になりたいので。これを試してみてください。 MAX(RIGHT(req、4))をrqとして サブストリング(req、4,2)をrs から tbl_inv_req ' –

答えて

1

UNIONを使用する必要はありません。次のように選択できます。

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

UNIONは、2つ以上のクエリの結果を1つの結果にまとめます。コメントのために

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' 
+1

ありがとうございます。これは私をたくさん助けます。 – Jengz

+0

私は迷惑をおかけして申し訳ありませんが、私は表示する必要がある場合 'rq rs 0005 04' どうすればよいですか? – Jengz

+0

回答が更新されました。 – NEER

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

私を助けてくれてありがとう。今私は次のステップに行くことができます – Jengz

関連する問題