2017-03-28 106 views
1

我正在從oracle數據庫中進行基本的SQL選擇。從SQL select語句連接值

select DISTINCT spriden_pidm, a.saracmt_comment_text, spriden_id, c.saracmt_comment_text, '2017' as "YEAR", szrspdc_prog_code 
from spriden, sarappd, saradap, stvapdc, saracmt a, saracmt c, szrspdc 
where blah blah blah 

以下三個字段被用作其它系統的關鍵我做一個導入到,所以我需要得到以下爲一個字段:c.saracmt_comment_text, '2017' as "YEAR", szrspdc_prog_code.

在此先感謝您的幫助。

+0

其中SQL版本?你可以使用從SQL 2012 concat,否則只是做經典的方式來連接..'你好'+'世界' – maSTAShuFu

+0

你可以使用||運營商..下面的東西 SELECT firstname || ''||姓氏AS studentname FROM students; – Jocket

+0

Gah。舊的'A,B'加入語法。它燒傷了我們。 –

回答

1

Oracle中的字符串連接運算符是||。所以,你需要使用下面的查詢:

select DISTINCT 
c.saracmt_comment_text || '2017' || szrspdc_prog_code as key_field 
spriden_pidm, a.saracmt_comment_text, spriden_id, 
c.saracmt_comment_text, '2017' as "YEAR", szrspdc_prog_code 
from spriden, sarappd, saradap, stvapdc, saracmt a, saracmt c, szrspdc 
where blah blah blah 
+0

謝謝!我曾嘗試||但最後沒有as field_name – ero

0

你想這樣做在PL/SQL或在接收端C#/ VB.NET代碼?我假設PL/Sql。

Procedute SomeName(DataOut OUT Varchar2) IS 
    WResult Varchar2(4000) -- I don't know the size of 2 of the table columns involed so I use the max size of Varchar2 which is 4000 
Begin 

    select into wResult a.saracmt_comment_text || YEAR || szrspdc_prog_code from 
    (
     select DISTINCT spriden_pidm, a.saracmt_comment_text, spriden_id, 
     c.saracmt_comment_text, '2017' as "YEAR", szrspdc_prog_code from 
     spriden, sarappd, saradap, stvapdc, saracmt a, saracmt c, 
     szrspdc_prog_code where Conditions 
    ); 

    DataOut := wResult; 
End; 

希望這會有所幫助。

R/ 普雷斯科特....