oracle的sql问题子查询返回多条记录问题请教,急

selecta.id,b.id,(selectm.applyIdformMmwherem.userId=c.userId)applyIdfromAa,Bb,Ccwhere... select a.id,b.id ,(select m.applyId form M m where m.userId = c .userId ) applyId
from A a , B b , C c
where a.id = b.xxid and c.xxid = b.bbid

现在的问题是子查询(select m.applyId form M m where m.userId = c .userId )中的数据不唯一,报错返回多条数据
想根据m的创建时间取第一条数据 , 应该怎么改?
如果在子查询外面再套一个查询 , 查出第一条 , 这句话作为2级子查询又取不到C的别名了 ,请教大家怎么修改
展开
 我来答
Q1017632646
2018-08-11 · TA获得超过345个赞
知道小有建树答主
回答量:440
采纳率:68%
帮助的人:103万
展开全部
select m.applyId form M m where m.userId = c .userId这里数袭备据不唯一就说明m的userid或者c的userid不是唯一的,首先你要搞清楚这两个表到底是哪个表的userid不唯一。然后你说想根据m的创建时间取第一条数据 意思是m的userid不唯一是吗?然后不唯一的数据你想根据创建时间只取一条是吗?拍锋毁(...我基悉不知道我这么理解对不对)。如果确实是我这么理解,那就应该写成(select m.applyId form M m where m.创建时间 = max(m.创建时间) and m.userId = c .userId )
wendua
2018-08-11 · TA获得超过307个赞
知道小有建树答主
回答量:417
采纳率:75%
帮助的人:147万
展开全部
select m.applyId form M m where m.userId = c .userId and rownum=1
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式