Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 从表1中选择数据,当表1的列名与表2中列1的行值匹配时,获取表2的交叉引用值_Sql_Oracle11g - Fatal编程技术网

Sql 从表1中选择数据,当表1的列名与表2中列1的行值匹配时,获取表2的交叉引用值

Sql 从表1中选择数据,当表1的列名与表2中列1的行值匹配时,获取表2的交叉引用值,sql,oracle11g,Sql,Oracle11g,表1 id | check | status 1 | abc | 1 2 | def | 3 表2 Column1 | rawvalue | to_be_updated_value| check | abc | new status | 3 | 3333 请帮助我编写select语句,以便在Oracle11g中获得以下输出 预期产出: id | ch

表1

id |    check | status 
1  |    abc   | 1        
2  |    def   | 3        
表2

Column1 |     rawvalue | to_be_updated_value|   
check   |     abc      | new    
status  |     3        | 3333   
请帮助我编写select语句,以便在Oracle11g中获得以下输出

预期产出:

id |    check     | status     
1  |    **new**   | 1             
2  |    def       | **3333**      

这是我认为您要做的第一件事(适用于SQL Server):

选择ISC.COLUMN\u名称,T2*
FROM.INFORMATION\u SCHEMA.COLUMNS ISC
内连接表2 T2
在T2.Column1=ISC.COLUMN\u NAME上
其中ISC.TABLE_NAME=N'Table1';

请解释您想要实现的目标。您描述了数据,但您想要什么输出?你试过什么?(将问题重命名为描述什么不起作用,而不是你的问题是什么)同样,请标记您正在使用的RDBMS。您好,当table1的列名与table2的column1匹配时,我希望“to_be_updated_value”数据代替原始数据,并且该列的相应值应与RawValues匹配,用更简单的话来说,我希望select语句在table2上查找更新的数据代替原始数据原始数据。。(我是sql新手,我使用Toad)
SELECT ISC.COLUMN_NAME, T2.*
FROM <YourDatabase>.INFORMATION_SCHEMA.COLUMNS ISC
INNER JOIN Table2 T2 
ON T2.Column1 = ISC.COLUMN_NAME
WHERE ISC.TABLE_NAME = N'Table1';