首页 > 解决方案 > 根据条件从另一个表中选择

问题描述

我是 SQL Server 和 SQL 查询的新手。这是我的三张桌子:

在此处输入图像描述

主键

在表 3 中 - 如果父母是父亲,则状态码为8,如果父母是母亲,则状态码为10

我想编写一个选择查询,我可以获得如下输出:

在此处输入图像描述

请帮助我,提前谢谢

标签: sqlsql-server

解决方案


您应该能够使用 Table3 中的两个子查询,其中一个用于父亲,另一个用于母亲。然后您可以将它们与案例和案例父映射表连接起来以获得所需的输出,

SELECT
    C.CaseID, C.CaseName, F.Name AS FatherName, F.Email AS FatherEmail,
    M.Name AS MotherName, M.Email AS MotherEmail
FROM
    Table1 C
INNER JOIN 
    Table2 CP C.CaseID = CP.CaseID
INNER JOIN 
    (SELECT * FROM TABLE3 WHERE GENDERCODE = 8) F ON F.ParentID = CP.ParentID
INNER JOIN 
    (SELECT * FROM TABLE3 WHERE GENDERCODE = 10) M ON M.ParentID = CP.ParentID

推荐阅读