求一大数据量SQl

mengyalizuopeng 2014-03-25 08:59:52
table1 主表
id name b1_id b2_id b3_id b4_id

1 a id1 id2 id3 id4

其中tableq 后四列 可能全有值,也可能只有其中某列有值


table2
id name
id1 name1
id2 name2
id3 name3
id3 name4


现在根据 table2 表的 一个或多个Name 模糊查询table1 并把table的后四列转成name

table1 主表
id name b1_id b2_id b3_id b4_id

1 a name1 name2 name3 name4


数据量大 ,不好用IN 求各位高手
...全文
527 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
流浪川 2014-03-25
  • 打赏
  • 举报
回复
引用 楼主 mengyalizuopeng 的回复:
table1 主表 id name b1_id b2_id b3_id b4_id 1 a id1 id2 id3 id4 其中tableq 后四列 可能全有值,也可能只有其中某列有值 table2 id name id1 name1 id2 name2 id3 name3 id3 name4 现在根据 table2 表的 一个或多个Name 模糊查询table1 并把table的后四列转成name table1 主表 id name b1_id b2_id b3_id b4_id 1 a name1 name2 name3 name4 数据量大 ,不好用IN 求各位高手

WITH table1 AS(
SELECT '1' ID,'a' NAME,'id1' b1_id,'id2' b2_id,'id3' b3_id,'id4' b4_id FROM dual),
table2 AS(
SELECT 'id1' ID,'name1' NAME FROM dual UNION ALL
SELECT 'id2' ID,'name2' NAME FROM dual UNION ALL
SELECT 'id3' ID,'name3' NAME FROM dual UNION ALL
SELECT 'id4' ID,'name4' NAME FROM dual
)
SELECT t1.ID,t2.NAME b1_id,t3.NAME b2_id,t4.NAME b3_id,t5.NAME b4_id
  FROM TABLE1 T1, TABLE2 T2, TABLE2 T3, TABLE2 T4, TABLE2 T5
 WHERE T1.B1_ID = T2.ID(+)
   AND T1.B2_ID = T3.ID(+)
   AND T1.B3_ID = T4.ID(+)
   AND T1.B4_ID = T5.ID(+)
CT_LXL 2014-03-25
  • 打赏
  • 举报
回复
引用 楼主 mengyalizuopeng 的回复:
table1 主表 id name b1_id b2_id b3_id b4_id 1 a id1 id2 id3 id4 其中tableq 后四列 可能全有值,也可能只有其中某列有值 table2 id name id1 name1 id2 name2 id3 name3 id3 name4 现在根据 table2 表的 一个或多个Name 模糊查询table1 并把table的后四列转成name table1 主表 id name b1_id b2_id b3_id b4_id 1 a name1 name2 name3 name4 数据量大 ,不好用IN 求各位高手
SELECT T.ID,
       T.NAME,
       (SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B1_ID) B1_ID,
       (SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B2_ID) B2_ID,
       (SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B3_ID) B3_ID,
       (SELECT T1.NAME FROM TABLE2 T1 WHERE T1.ID = T.B4_ID) B4_ID
  FROM TABLE1 T

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧