Chinaunix首页 | 论坛 | 博客
  • 博客访问: 636522
  • 博文数量: 17
  • 博客积分: 248
  • 博客等级: 二等列兵
  • 技术积分: 237
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-26 12:13
个人简介

别让往昔的悲伤和对未来的恐惧,毁了你当下的幸福。

文章分类

全部博文(17)

文章存档

2013年(6)

2012年(2)

2011年(9)

我的朋友

分类: Oracle

2012-12-28 15:41:36

该语句只能在oracle下使用,别的数据库还不知道怎么搞。
在left jion别的表时候发现左表有重复的,解决办法如下:

点击(此处)折叠或打开

  1. SELECT *
  2. FROM res_song t
  3. LEFT JOIN
  4.     (
  5.         select songid,songsingerid,singerid from
  6.             (
  7.                 SELECT songid,songsingerid,singerid,row_number() over(partition by songid order by songid) num_id from RES_SONG_SINGER
  8.             ) where num_id=1
  9.     ) rss
  10. ON t.songid= rss.songid
  11. where
  12.     (t.songid like '%%' or t.songname like '%%' or t.drmsonginitid like'%%') and t.state=1
  13. ORDER BY t.songid
需求是这样的:取一首歌的时候同时也把歌手也取出来,但是歌手可能是多个用left jion就有问题了,这样只能取出一个歌手,用到了oracle的函数。
阅读(1061) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~