我真的不知道如何针对这个问题提出具体问题,所以我会尽力解释这个情景
相关表格包含以下列。
**Table#1 Patients**
-PatID
-Name
-Guarantor FK_PatID (Refer to Patients Table)
好的,我想说我想从单个SQL查询中选择患者的姓名,以及表中的担保人姓名。
SELECT p.Name, p.Guarantor
FROM Patients P
此声明将告诉我患者的姓名和担保人的PatID,但我如何才能匹配该担保人的ID以在同一个SQL声明中获取其姓名?
答案 0 :(得分:5)
您可以自行加入表格
SELECT P.Name, P.Guarantor, P2.Name
FROM Patients P
INNER JOIN Paitents P2 on P2.PatId = P.Guarantor
答案 1 :(得分:0)
这是 SELF JOIN
的经典示例SELECT
P1.Name,
P1.Guarantor+ 'is Guarantor of' +P2.Name
FROM Patients P1
INNER JOIN Paitents P2 on P2.PatId = P1.Guarantor
答案 2 :(得分:-1)
Select p.name from Patients p where
p.guarantor in (select p1.guarantor from patients p1 where name = 'foo')
这将为您提供所有名为 foo 的患者的担保人姓名。您只需在另一个查询的where子句中使用查询。