SQL Sql将两列合并为一个变量
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/22034308/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Sql combining two column into one variable
提问by mekafe
I have a sql command
我有一个 sql 命令
SELECT A.*,
K1.AD CONTACTAD,
K1.SYD CONTACTSYD,
KR.AD KURUM,
K2.AD SUPERVISORAD,
K2.SYD SUPERVISORSOYAD,
K3.AD REQUIRERAD,
K3.SYD REQUIRERSOYAD
FROM
TD_ACTIVITY A,
KK_KS K1,
KK_KS K2,
KK_KS K3,
KK_KR KR
WHERE A.INS_CONTACT_PERSON = K1.ID
AND A.SUPERVISOR = K2.ID
AND A.REQUIRERID = K3.ID
AND A.INSTITUTIONID = KR.ID
I want to combine CONTACTADand CONTACTSOYADinto one variable like CONTACT.How can i do that?
我想将CONTACTAD和组合CONTACTSOYAD成一个变量,例如 .CONTACT我该怎么做?
回答by G one
Use ||for concatenating in oracle
使用||Oracle中级联
SELECT A.*,
K1.AD || K1.SYD as CONTACT,
KR.AD KURUM,
K2.AD SUPERVISORAD,
K2.SYD SUPERVISORSOYAD,
K3.AD REQUIRERAD,
K3.SYD REQUIRERSOYAD
FROM
TD_ACTIVITY A,
KK_KS K1,
KK_KS K2,
KK_KS K3,
KK_KR KR
WHERE A.INS_CONTACT_PERSON = K1.ID
AND A.SUPERVISOR = K2.ID
AND A.REQUIRERID = K3.ID
AND A.INSTITUTIONID = KR.ID
回答by Alexander
Use Oracle concatenation operator
SELECT A.*,
K1.AD || ' ' || K1.SYD CONTACT
KR.AD KURUM,
K2.AD SUPERVISORAD,
K2.SYD SUPERVISORSOYAD,
K3.AD REQUIRERAD,
K3.SYD REQUIRERSOYAD
FROM TD_ACTIVITY A,
KK_KS K1,
KK_KS K2,
KK_KS K3,
KK_KR KR
WHERE A.INS_CONTACT_PERSON = K1.ID
AND A.SUPERVISOR = K2.ID
AND A.REQUIRERID = K3.ID
AND A.INSTITUTIONID = KR.ID
回答by Dba
Try like this,
试试这样,
SELECT A.*,
concat(k1.ad, k1.syd) concat
kr.ad kurum,
k2.ad supervisorad,
k2.syd supervisorsoyad,
k3.ad requirerad,
k3.syd requirersoyad
FROM td_activity A,
kk_ks k1,
kk_ks k2,
kk_ks k3,
kk_kr kr
WHERE A.ins_contact_person = k1.ID
AND A.supervisor = k2.ID
AND A.requirerid = k3.ID
AND A.institutionid = kr.ID;
Refer hereto know more about CONCATin Oracle.
请参阅此处以了解有关CONCATOracle 的更多信息。
回答by Mudassir Hasan
SELECT K1.AD || columnName "CONTACT"
Here columnName is name of column for which alias is CONTACTSOYAD.
这里 columnName 是别名为 的列的名称CONTACTSOYAD。
You cannot operate on alias name in same SELECT listso below will give error
您不能在同一个 SELECT 列表中对别名进行操作,因此下面会出错
SELECT CONTACTAD || CONTACTSOYAD "CONTACT" , ...rest of columns...
FROM
..rest of query..
回答by Sai Avinash
You can try this:
你可以试试这个:
select CONTACTAD || CONTACTSOYAD from emp;
|| is the concatenation operator in Oracle
|| 是 Oracle 中的连接运算符
hope this helps..
希望这可以帮助..
回答by TechDo
Please try:
请尝试:
(K1.AD||K1.SYD) AS CONTACT

