mysql 与不同表的内连接

标签 mysql join inner-join

谢谢大家:)我有 4 个表项目、要点、步骤和评论;

项目 ID 姓名 描述

积分 ID 姓名 描述 项目ID

步骤 ID 描述 点_id

评论 ID 描述 步骤_id

我写了这样的查询

SELECT * FROM Project 
INNER JOIN points ON points.project_id=Project.id
INNER JOIN steps ON steps.points_id=points.id
INNER JOIN comments ON comments.steps_id=steps.id
WHERE Project.id=333

一个项目有很多要点、要点、有很多步骤、有很多评论 像这样的事情,我想在一个查询中获得所有结果,否则需要很长时间才能获得结果:((我不知道我能做什么:((

是这样的

**Project**
id :1,
name :"get",

**points**
id :1,
name :"points1", ///project "get"'s point
project_id : 1,
id :2,
name :"points2", ///project "get"'s point
project_id : 1,

**steps**
id :1,
name :"steps1", ///project "points2"'s step
points_id : 2,
id :2,
name :"steps2",///project "points2"'s step
points_id : 2,

**comments**
id :1,
name :"something", ///project "steps1"'s comment
steps_id : 1,
id :2,
name :"something",///project "steps2"'s comment
steps_id : 2,

我想回显项目,它是一个查询中的点、点的步骤和步骤的注释,或者是否有另一种方法来解决这个问题?感谢您的支持:))))))

最佳答案

首先,您的 sql 语法无效。您错过了关键字 FROM。应该是:

SELECT * 
FROM Table1
       INNER JOIN table2 ON table2.table1_id= table1.id
       INNER JOIN table3 ON table3.table2_id= table2.id
       INNER JOIN table4 ON table4.table3_id= table3.id
WHERE table1.ID = 333

但我需要你想要的结果。您需要指定数据库架构和虚拟记录才能完成查询。

关于mysql 与不同表的内连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10786000/

相关文章:

Mysql 交叉连接不重复

mysql - 原子地更改 mySQL 中的多行

mysql 一对2多表连接

sql - 通过一个查询从 3 个表中删除

Mysql查询JOIN查询,获取相同的列比较id与request1和request2

mysql - 其他表中的 AVG 连接结果

mysql - 如何在 mysqlsh importTable util 中跳过/虚拟列?

php - 这是什么意思?我该如何解决?未捕获的异常 'PDOException',消息为“SQLSTATE[42000]

mysql - 使用 MySQL 创建排行榜

java - KStreams 确定在连接上保留哪些输入记录时间戳元数据