我将用户相关信息拆分到多个表中。我正在尝试编写一个联接来检索单个用户的数据,很多信息是可选的,因此许多列的条目可能为 null,这没关系。我写了下面的查询,除了当我想要 id 为 '69' 的用户时它返回所有用户外,它正在工作
SELECT cur_doctor_names.First_Name, cur_doctor_Names.Last_Name, w.Website
FROM cur_doctor_names
LEFT JOIN (
SELECT *
FROM cur_website
WHERE Userid =69
) AS w ON cur_doctor_names.UserId = w.Userid
我想要以下结果:
First_Name | Last Name | Website
ABC XYZ Null
其中 ABC 是 ID 为 69 的用户的名称。
最佳答案
您只是在过滤网站,因为您使用的是左连接。您应该将过滤器应用于医生表
SELECT
cur_doctor_names.First_Name,
cur_doctor_Names.Last_Name,
w.Website
FROM
cur_doctor_names
LEFT JOIN cur_website AS w
ON cur_doctor_names.UserId = w.Userid
WHERE
cur_doctor_names.UserId = 69
关于mysql - SQL Join 用于检索单个用户的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12854911/