hql语句实现两个表的连接查询
这里有两个表:student和class,student表中有id,name,classid;class表中有id,name;student表中的classid和clas...
这里有两个表:student和class,student表中有id,name,classid;class表中有id,name;student表中的classid和class表中的id是一致的,现在就要通过连接这两个表查询出student中的id,name和class中的name;两张表在建立的时候没加外键啥的,现在该如何实现hql语句,急求,谢谢、、、
展开
3个回答
展开全部
我认为这样可以
form student t where t.classid = select id form class c where ....
form student t where t.classid = select id form class c where ....
追问
应该建立主外键,两个表要建立连接才行,要不然用视图也是可以解决的、、、
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
给class加主键(外键参考的表键必须是主键或者唯一键)
alter table class add primary key(id);
给student的classid加外键
alter table student add foreign key classid refrences class(id);
通过连接这两个表查询出student中的id,name和class中的name
select a.id,a.name,b.name from student a,class b where a,classid=b.id;
alter table class add primary key(id);
给student的classid加外键
alter table student add foreign key classid refrences class(id);
通过连接这两个表查询出student中的id,name和class中的name
select a.id,a.name,b.name from student a,class b where a,classid=b.id;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select student.id, student.name, class.name
from student
join class on class.id = student.classid
from student
join class on class.id = student.classid
更多追问追答
追问
还是有问题啊
javax.servlet.ServletException: org.hibernate.hql.ast.QuerySyntaxException: unexpected token、、
这是hql语句有问题吧、、
追答
我对hibernate不熟悉,可能是这样?
select student.id, student.name, class.name
from student
join class
where class.id = student.classid
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询