如何把SYS_ML_MODEL_COLUMN的col_code的值跟ODS_RPT_EAST5_CPJBXXB的列名关联,并返回SYS_ML_MODEL_COLUMN的LOCK_FLAG小于ODS_RPT_EAST5_CPJBXXB列结果的数据
时间: 2024-11-30 19:15:08 浏览: 0
Oracle_data_warehouse.rar_ 数据仓库_Data Warehouse orac_oracle_wareh
在数据库操作中,如果你想要将`SYS_ML_MODEL_COLUMN`表的`col_code`值与`ODS_RPT_EAST5_CPJBXXB`表的列名关联起来,并且只返回`SYS_ML_MODEL_COLUMN`中`LOCK_FLAG`小于`ODS_RPT_EAST5_CPJBXXB`对应列的结果,你可以使用SQL查询,通常涉及JOIN和条件过滤。这里是一个基本示例:
```sql
SELECT SCM.*
FROM SYS_ML_MODEL_COLUMN SCM
JOIN (
SELECT COLUMN_NAME AS 'ODS_RPT_EAST5_CPJBXXB_COL'
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'ODS_RPT_EAST5_CPJBXXB'
) ODC ON SCM.col_code = ODC.ODS_RPT_EAST5_CPJBXXB_COL
WHERE SCM.LOCK_FLAG < (SELECT COLUMN_NAME FROM ODS_RPT_EAST5_CPJBXXB)
```
在这个例子中:
1. 使用内部子查询`ODC`从`INFORMATION_SCHEMA.COLUMNS`获取`ODS_RPT_EAST5_CPJBXXB`表中对应的列名。
2. `JOIN`操作将两个表连接在一起,基于`col_code`与列名匹配。
3. `WHERE`子句用于过滤出`LOCK_FLAG`小于该列值的记录。
请注意,这个查询假设了`COLUMN_NAME`列在`ODS_RPT_EAST5_CPJBXXB`表中包含了你需要比较的列的实际名称。如果实际结构不同,你可能需要调整子查询部分。
阅读全文