mysql - SQL Join 用于检索单个用户的记录

标签 mysql sql join

我将用户相关信息拆分到多个表中。我正在尝试编写一个联接来检索单个用户的数据,很多信息是可选的,因此许多列的条目可能为 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/

相关文章:

python - pandas:在不同类型的列上连接两个数据框

mysql - 多表中的 SQL 搜索

sql - 有什么不同

MySQL SELECT 具有不同列值的下一行

mysql UPDATE 行包含来自另一个表的数据的最高值

sql - 包含开始日期和结束日期的团体价格

php - 输入开始和结束的地理位置(纬度和经度)并从数据库(mysql)中搜索输入的开始和结束位置之间有多少个地方?

mysql - 在 WHERE 子句中使用 mysql SUM()

MySQL 1044 (42000) : Access denied for user ' ' @'localhost' to database 'mysql' with Mac

由于自动关联,SQLAlchemy query.filter 未返回 FROM 子句