oracle where条件后接unique判断,可以吗?
selecttid,tnamefromtwhereunique(selecttidfromcwherec.tid=t.tid)教师表:T(tid,tname),S,课程表...
select tid ,tname from t where unique(
select tid from c where c.tid=t.tid
)
教师表:T(tid,tname),S,课程表:C(cid,cname,tid)
这条语句本意是想查询出只开设了一门课程的教师工号和姓名,但是oracle中好像不支持这种写法啊? 展开
select tid from c where c.tid=t.tid
)
教师表:T(tid,tname),S,课程表:C(cid,cname,tid)
这条语句本意是想查询出只开设了一门课程的教师工号和姓名,但是oracle中好像不支持这种写法啊? 展开
3个回答
展开全部
oracle 确实不支持这种写法。
用GROUP BY + HAVING 来实现吧
用GROUP BY + HAVING 来实现吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select c.tid,t.tname, count(c.cid) as cnt
from c, t
where c.tid = t.tid
group by c.tid,t.tname
having count(c.cid) = 1
from c, t
where c.tid = t.tid
group by c.tid,t.tname
having count(c.cid) = 1
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select tid,tname from t where tid in (select tid from c group by tid having count(*)=1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询