sql语句

t1qtbnec  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(278)

我正在尝试运行一个sql语句从两个表中提取数据,我想知道是否有人能帮我编写代码。我想拉 Project.Project_ID , Project.StartDate , Project.Users 哪里 Project_ID = 1 在两张table上。

SELECT Project.Project_ID, Project.StartDate, Project.Users
FROM Project
INNER JOIN UserList ON Project.Project_ID=UserList.Project_ID
WHERE Project.Project_ID = '1';
lyr7nygr

lyr7nygr1#

使用您的模型,用户只能链接到一个项目。下面是一个连接表userproject。
这样n个用户就可以参与n个项目(n对n关系)

SELECT
    p.id AS projectId,
    p.startDate,
    u.id AS userId,
    u.name,
    [...]
FROM
    Project AS p,
    UserProject AS up,
    User AS u
WHERE
    p.id = up.projectId
    AND u.id = up.userId
    AND p.id = 1;

这是一个1:1的关系

[...]
FROM
    Project AS p,
    User AS u
WHERE
    p.id = u.projectId
    AND p.id = 1;
wqnecbli

wqnecbli2#

我不太清楚你的问题陈述是什么。如果你能提供更多的细节(数据库结构),那将是非常有用的。
根据您的数据结构,您可能需要解决多个场景。
我在这里看到的只是 Project.Users 你应该有 UserList. Users . 我假设用户列表表包含所有用户的详细信息,而不是透视表。如果是,则需要另一个与用户表的连接。

SELECT 
       Project.Project_ID, Project.StartDate, UserList.Users 
FROM 
       Project
       INNER JOIN UserList ON Project.Project_ID=UserList.Project_ID
WHERE 
        Project.Project_ID = '1';

请共享您的数据库结构。

相关问题