该语句只能在oracle下使用,别的数据库还不知道怎么搞。
在left jion别的表时候发现左表有重复的,解决办法如下:
- SELECT *
- FROM res_song t
- LEFT JOIN
- (
- select songid,songsingerid,singerid from
- (
- SELECT songid,songsingerid,singerid,row_number() over(partition by songid order by songid) num_id from RES_SONG_SINGER
- ) where num_id=1
- ) rss
- ON t.songid= rss.songid
- where
- (t.songid like '%%' or t.songname like '%%' or t.drmsonginitid like'%%') and t.state=1
- ORDER BY t.songid
需求是这样的:取一首歌的时候同时也把歌手也取出来,但是歌手可能是多个用left jion就有问题了,这样只能取出一个歌手,用到了oracle的函数。
阅读(1061) | 评论(0) | 转发(0) |