Mysql 根据第三个表中的变量从两个表中选择结果
我的数据库中有两个选项卡:Mysql 根据第三个表中的变量从两个表中选择结果,mysql,Mysql,我的数据库中有两个选项卡: users - userID(primary key), username, password courses - id(primary key), name, text subscriptions - id(primary key), curso_id, user_id 就在订阅表中,我将users UserID写入->user\u id,其中包含他订阅的课程的id curso\u id,因此subscrption数据库中的结果如下 subscribtions
users - userID(primary key), username, password
courses - id(primary key), name, text
subscriptions - id(primary key), curso_id, user_id
就在订阅表中,我将users UserID写入->user\u id,其中包含他订阅的课程的id curso\u id,因此subscrption数据库中的结果如下
subscribtions table:
id user_id curso_id
1 12 1
2 5 1
3 12 2
4 6 7
这是用户表:
users table
userID username password
1 user1 passw1
2
3
4
这是课程表:
course table:
id course_name descriotion
1 course one text
2
3
我的问题是如何进行sql查询,首先通过$row['id']
从课程数据库中选择课程,然后根据第三个表订阅列出订阅此课程号的所有用户
第二个问题是如何列出用户选择的课程的订阅用户数
$row['id']
这是我现在掌握的一些alghorytm逻辑
SELECT * FROM users WHERE id=5.courses(select from the database 'courses') AND 5-> SELECT ALL FROM table subscriptions user_id equal to id from table users
我不确定我是否理解您试图实现的目标,但如果您想要一个列表,显示每个课程中的每个用户,并按课程名称排序,这应该是交易
select t1.*, t2.*, t3.* from users as t1, courses as t2, subscriptions as t3 where t3.user_id = t1.userID and t3.curso_id = t2.id order by t2.id
这不是最好的方法,从性能方面来看,我建议将其放在几个语句中,因为连接通常很慢 好的,我找到了方法,下面是mysql查询:
FROM users
INNER JOIN subscriptions
ON users.userID = subscriptions.user_id
WHERE subscriptions.curso_id = $ids"
你能告诉我们你试过什么吗?问题是我真的不确定如何确定不同选项卡之间的关系,然后设置e规则或选择我猜选项是加入表,但如何设置选择规则这是非常基本的东西。我建议查看SQL教程。我想列出所有订阅所选课程的用户,但一次只能列出一门课程。所选课程由$row['id'标识