gpt4 book ai didi

mysql - 根据第 3 个表中的变量从 2 个表中选择结果

转载 作者:行者123 更新时间:2023-11-30 01:15:04 24 4
gpt4 key购买 nike

我的数据库中有 2 个标签:

users - userID(primary key), username, password
courses - id(primary key), name, text
subscriptions - id(primary key), curso_id, user_id

在订阅表中,我在里面写入用户 UserID -> user_id 以及他订阅的类(class)的 ID curso_id,因此订阅数据库中的结果如下

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

这是类(class)表:

course table:
id course_name descriotion
1 course one text
2
3

我的问题是如何创建一个sql查询,首先通过$row['id']选择类(class),它表示类(class)数据库中的id变量,然后基于第三个表订阅列出订阅该类(class)号的所有用户。 ?

第二个问题是如何列出

选择的类(class)的订阅用户数量
$row['id'] 

这是我现在拥有的某种算法逻辑

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

最佳答案

不确定我是否理解您想要实现的目标,但如果您想要一个列表,向您显示每个类(class)中的每个用户以及类(class)名称并按类(class)名称排序,这应该可以达成交易。

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 - 根据第 3 个表中的变量从 2 个表中选择结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19146151/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com