2016-05-30 50 views
0

我想连接多个列并获得单列作为输出。获取ALIAS作为连续的列名称

例如:

SELECT vendor_id || '|' || vendor_name FROM vendors; 

输出:

vendor_id || '|' || vendor_name 
------------------------------- 
100000001|abc_company 
100000002|def_company 

在这里,我试图让列名作为vendor_id|vendor_name代替vendor_id || '|' || vendor_name

我试着用不同的方式AS关键字但不成功。
使用下面的查询时

,有人说FROM关键字缺少

SELECT vendor_id || '|' || vendor_name AS vid|vname FROM vendors; 
+0

我删除了MySQL标签,因为'||'表示Oracle。 –

+0

如果你这样做让你的报表看起来更好,那么在报表应用程序中执行它更容易(而且更好),而不是在SQL查询中执行。 – mathguy

回答

0

您需要引用输出。就个人而言,我不喜欢有引用的列名,所以我会做:

SELECT vendor_id || '|' || vendor_name AS vid_vname 
FROM vendors; 

但是,你会做它:

SELECT vendor_id || '|' || vendor_name AS "vid|vname" 
FROM vendors; 
1

如果你真的返回的列名要vid|vname你只需要引用它:

SELECT vendor_id || '|' || vendor_name AS "vid|vname" 
    FROM vendors; 

注意vid|vidname将是大小写敏感的,所以你就需要精确指出如果你在其他地方使用它。

祝你好运。