我试过查找这个问题,但也许我没有正确搜索。
我想知道在SQL中是否可以根据同一行中另一列的结果进行连接。 让我举个例子
+-------------+------------+--------+
| STATE | CITY | Region |
+-------------+------------+--------+
| Georgia | Atlanta | East |
| Los Angeles | California | West |
+-------------+------------+--------+
让我说我有这个表,我想通过做某种连接在其中创建一个新列
输出应该如下所示
+-----------+------------+-------------+--------+
| SIDE | STATE | CITY | Region |
+-----------+------------+-------------+--------+
| East_Side | Georgia | Atlanta | East |
| West_Side | California | Los Angeles | West |
+-----------+------------+-------------+--------+
所以Side列应该查看区域并询问它是什么区域?然后说好,所以这是"?_ Side"然后连接适当的" Region_Side" =" East_Side"
这只是一个简单的例子,我知道在这个例子中我可以使用一个case语句,但在我的实际应用程序中我不能因为它的很多" Regions"
这可能或不可以吗?
答案 0 :(得分:2)
这样做你想要的吗?
select Region || '_Side', state, city, region
from t;
||
是Oracle中的字符串连接运算符(以及标准SQL中的字符串连接运算符)。
答案 1 :(得分:1)
只需使用列并连接字符串
select region ||'_Side', STATE , CITY , Region
from my_table