需要sql查询此要求

时间:2014-11-07 14:37:00

标签: sql oracle10g

我有一个名为ABC和XYZ的表

表ABC:我有五列Col_1,col_2,col_3,col_4,col_5

Col_1   col_2  col_3  col_4  col_5
10      20     30     40     50

表XYZ:我有一列作为col_Name

Col_Name   
col_1  
col_2
col_5

我需要输出为:

表格结果:

col_1  10
col_2  20
col_5  50

1 个答案:

答案 0 :(得分:0)

您可以使用CASE语句执行此操作:

SELECT 
     Col_name,
     CASE WHEN Col_Name = 'col_1' THEN TableABC.col_1
          WHEN Col_Name = 'col_2' THEN TableABC.col_2
          WHEN Col_Name = 'col_3' THEN TableABC.col_3
          WHEN Col_Name = 'col_4' THEN TableABC.col_4
          WHEN Col_Name = 'col_5' THEN TableABC.col_5
     END AS Result
FROM TableXYZ, TableABC

大多数数据库系统中没有动态的方法来选择列。