欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

怎么实现以下查询

更新时间: 2014-01-05 02:15:58 责任编辑: Author_N1

 

如何实现以下查询
表 A
Aid       name        age

1         lily         8
2         lucy         9
3         lilei        9
表 B

Bid        Aid        waihao

1           2         meinv
2           2         luoli
3           1         yujie

查询出得结果
Aid       name        age          waihao
1         lily         8            yujie
2         lucy         9            meinv,louli
3         lilei        9
注意:外号有多的要用“,”分开
--参考方法--

SELECT A.AID, A.NAME, A.AGE, WM_CONCAT(B.WAIHAO) WAIHAO
  FROM A, B
 WHERE A.AID = B.AID(+)
 GROUP BY A.AID, A.NAME, A.AGE;
--测试
[SYS@myoracle] SQL>WITH A AS(
  2  SELECT 1 aid,'lily' NAME ,8 age FROM dual UNION ALL
  3  SELECT 2 aid,'lucy' NAME ,9 age FROM dual UNION ALL
  4  SELECT 3 aid,'lilei' NAME ,9 age FROM dual
  5  ),B AS(
  6  SELECT 1 bid,2 aid,'meinv' waihao  FROM dual UNION ALL
  7  SELECT 2 bid,2 aid,'lucy' waihao  FROM dual UNION ALL
  8  SELECT 3 bid,1 aid,'lilei' waihao FROM dual
  9  )SELECT A.AID, A.NAME, A.AGE, WM_CONCAT(B.WAIHAO) WAIHAO
 10    FROM A, B
 11   WHERE A.AID = B.AID(+)
 12   GROUP BY A.AID, A.NAME, A.AGE
 13  ;

       AID NAME         AGE WAIHAO
---------- ----- ---------- ----------
         1 lily           8 lilei
         2 lucy           9 meinv,lucy
         3 lilei          9
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:15:58
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7733/
本文WWW.DOC100.NET DOC100.NET版权所有。