数据库多表查询的问题

用户表有字段,image.png

活动表有字段,image.png

用户活动表有字段,image.png

活动状态表有字段,image.png
activity_status_name

需求,学生参加的活动。
获取的内容,学生姓名,活动姓名,活动状态。

select u.user_name,a.activity_name

from user u,activity a,activity_user au

where au.user_id = u.user_id

and au.activity_id = a.activity_id;

image.png

想增加活动状态时出错。

select u.user_name,a.activity_name ,ast.activity_status_name

from user u,activity a,activity_user au,activity_status ast

where au.user_id = u.user_id

and au.activity_id = a.activity_id

and ast.activity_status_id = '1';

求指教,是哪里的问题?基础较差,望理解。

阅读 1.4k
1 个回答

缺少了一个连接条件。

select u.user_name,a.activity_name,ast.activity_status_name
from user u
join activity_user au on au.user_id = u.user_id
join activity a on a.activity_id = au.activity_id
join activity_status ast on a.activity_status_id = ast.activity_status_id;

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题