2016-01-06 24 views
-1

我想編碼的是Delaysubreasoncode在delayreasontable時,當我運行查詢。而Delaysubreason表應該像這樣1C,2B,等等。和我使用的Oracle SQL Developer ADN兩個表中有他們的描述,所以我需要說明以及兩列進來一列在oracle

需要所有subreason代碼和subreason信息下reasoncode和reasoninfo聞一運行查詢

[樣表圖像來] [1]

查詢

Expected Description 
1   Rani 
2   Fly 
3   airline 
4   train 
5   bus 
6   car 
7   cycle 
8   road 
1C   rani off 
2B    fly plane 
3M    Birtish airline 
4T   midland trains 
5F    bus route 
+0

你能展示一些預期的結果嗎? – RoKa

+0

爲什麼不呢?現在你可以看到預期的結果 –

+0

我已經刪除了tSQL標籤,因爲這隻適用於Microsoft SQL Server。你能向我們展示你的查詢嗎?然後,我們可以幫助您實現它的工作。 –

回答

0

你並不需要連接兩個表;你可以UNION查詢針對每一個:

SELECT TO_CHAR(dr.reasoncode) AS reasoncode, dr.reasoninfo 
FROM delayreason dr 
UNION ALL 
SELECT dsr.reasoncode ||''|| dsr.reasonsubcode, dsr.reasonsubinfo 
FROM delaysubreason dsr; 

TO_CHAR()需要使數據類型匹配 - 否則會ORA-01790錯誤時,看到從第一個查詢號碼,並從第二個字符串。您也可以將CAST()更改爲varchar2,或者將其並置不太清晰。