帮忙看看这样的sql怎么写
时间:2011-10-31
来源:互联网
SQL code
tb_cp.sourcekpiid这个字段里包含1个或者几个PC.sourcecode字段的值。
我现在想列出PC表里NAME字段的所有值,如果PC表里的sourcecode被包含在tb_cp.sourcekpiid里,那么就列出tb_cp的capesname字段。
但是我用上面那个查询出PC表里几十倍的值,我想是因为2个表间没加左连接,但是2个表就我说的这个被包含的关系,我怎么加左连接呢?
select PC.NAME,(case when instr(PC.sourcecode,tb_cp.sourcekpiid) > 0 then tb_cp.capesname else null end) from cp_kpi_info_fy tb_cp, cp_om_kpi_info_fy PC
tb_cp.sourcekpiid这个字段里包含1个或者几个PC.sourcecode字段的值。
我现在想列出PC表里NAME字段的所有值,如果PC表里的sourcecode被包含在tb_cp.sourcekpiid里,那么就列出tb_cp的capesname字段。
但是我用上面那个查询出PC表里几十倍的值,我想是因为2个表间没加左连接,但是2个表就我说的这个被包含的关系,我怎么加左连接呢?
作者: charlesxu 发布时间: 2011-10-31
select * from a, b
where instr(',' || b.字段 || ',',
',' || a.字段 || ',' ) > 0;
where instr(',' || b.字段 || ',',
',' || a.字段 || ',' ) > 0;
作者: cosio 发布时间: 2011-10-31
SQL code
with a as (select 'a123' aa from dual) ,b as (select 'a123,b456' bb from dual union all select 'c789,d123' from dual union all select 'a123,dadaf' from dual ) select * from a,b where bb like '%'||aa||'%' --result: a123 a123,b456 a123 a123,dadaf
作者: cosio 发布时间: 2011-10-31
select pc.name ,tb_cp.capesname
from cp_om_kpi_info_fy PC left join cp_kpi_info_fy tb_cp
on instr(PC.sourcecode,tb_cp.sourcekpiid) > 0
from cp_om_kpi_info_fy PC left join cp_kpi_info_fy tb_cp
on instr(PC.sourcecode,tb_cp.sourcekpiid) > 0
作者: dawugui 发布时间: 2011-10-31
SQL code
这样做,只能查到t3.sourcekpiid里包含t4.sourcecode的记录。
我是想列出所有t4的记录,然后把t3里包含t4的列出名字来,不包含的显示为空
select t3.capesname from cp_kpi_info_fy t3, cp_om_kpi_info_fy t4 where instr(t4.sourcecode,t3.sourcekpiid) > 0
这样做,只能查到t3.sourcekpiid里包含t4.sourcecode的记录。
我是想列出所有t4的记录,然后把t3里包含t4的列出名字来,不包含的显示为空
作者: charlesxu 发布时间: 2011-10-31
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28