mysql - 如何使用 SQL 来匹配这个?

标签 mysql sql

我正在使用以下 3 个表格:

第一张表

  • 编号
  • 回应

第二张表

  • 回复ID
  • 患者编号

第三张表

  • 患者编号

第一张表和第二张表之间的关系在idresponceid上。

third 和second 之间的关系在patientid 上。

现在我需要借助与第二个和第三个表中的 patientid 匹配来从这些表中检索值,就像从第一个和第三个表中检索所有值一样。

我该怎么做?

最佳答案

基本上,如果定义它们关系的所有列都不可为空,则 INNER JOIN 就足够了。但是,如果它们是可为空的,并且您仍想显示来自firstTB 的所有记录,则需要使用LEFT JOIN 而不是INNER JOIN

SELECT  a.*, b.*, c.*
FROM    firstTB a
        INNER JOIN secondTB b
            ON a.ID = b.responceID
        INNER JOIN thirdTB c
            ON b.patientID = c.patientID

要进一步了解有关联接的更多信息,请访问以下链接:

关于mysql - 如何使用 SQL 来匹配这个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15224960/

相关文章:

mysql - 如何搜索忽略单词之间的空格?

python - Mysql 创建外键

c# - Entity Framework -使用存储过程急于加载对象图

sql - 使用对列表有效地选择 SQL Server 中的行?

mysql - Rails 选择每组前 n 条记录(内存泄漏)

mysql - 更新列值为 True 且时间戳列为 MAX 的位置

sql - 同一张表的一对多关系

mysql - mySql 中的简单查询 - 可能是子查询和联接(中级)

mysql替换为替代

mysql - 这是解决sql中最低性能问题的好方法