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 CONTACTAD
and CONTACTSOYAD
into 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 CONCAT
in Oracle.
请参阅此处以了解有关CONCAT
Oracle 的更多信息。
回答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