科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道分组内记录搭配语句怎么写(不能用pl/sql只能用一句sql)?

分组内记录搭配语句怎么写(不能用pl/sql只能用一句sql)?

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

分组内记录搭配语句怎么写(不能用pl/sql只能用一句sql)?

作者:csdn 来源:csdn 2009年12月22日

关键字: ORACLE 问答

  • 评论
  • 分享微博
  • 分享邮件

分组内记录搭配语句怎么写(不能用pl/sql只能用一句sql)?

记录如
  f1  f2  f3
  a  2  9
  a  7  1
  b  2    9
  b  7  1
  c  4    9
  c  7    3

  如果记录输成   
    c 4  9
    c 7  1  则不行
也就是每一组两条记录    f1 相同  f2 f3 要么是29 71 要么是 49 73 如果变成29  73 则错吴
现在想找出错误的分组记录。  sql 怎么写?

 

SQL code11:06:45 tina@PRACTICE> with tb as (select 'a' f1,'2' f2,'9' f3 from dual
11:06:52   2  union all select 'a','7','1' from dual
11:06:52   3  union all select 'b','2','9' from dual
11:06:52   4  union all select 'b','7','1' from dual
11:06:52   5  union all select 'c','4','9' from dual
11:06:52   6  union all select 'c','7','3' from dual
11:06:52   7  union all select 'd','2','9' from dual
11:06:52   8  union all select 'd','7','3' from dual
11:06:52   9  )
11:06:52  10  select a.f1,f2,f3 from
11:06:52  11  (select f1,wm_concat(f2||f3) col from tb group by f1) a, tb b
11:06:52  12  where a.f1 = b.f1 and col not in ('29,71','49,73');

F1   F2   F3
---- ---- ----
d    2    9
d    7    3

已用时间:  00: 00: 00.00

 

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章