来自2个表的SQL语句

时间:2018-10-29 17:07:07

标签: mysql sql database

我当前正在尝试运行sql语句以从2个表中提取数据,我想知道是否有人可以帮助我编写代码。我想在两个表中的Project.Project_ID中提取Project.StartDateProject.UsersProject_ID = 1

dbo.Project

dbo.UserList

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';

2 个答案:

答案 0 :(得分:0)

我不确定您的问题陈述是什么。如果您可以提供更多详细信息(数据库结构),那将真的很有帮助。

您可能要根据数据结构解决一种以上的情况。

我在这里唯一看到的是您应该拥有Project.Users而不是UserList. Users。我假设用户列表表具有所有用户详细信息,并且它不是数据透视表。如果是这样,则需要另一个与User表的联接。

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';

请分享您的数据库结构。

答案 1 :(得分:0)

在您的模型中,用户只能链接到一个项目。 以下是联接表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;

这里是一对一的关系

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