所以我一直在考虑这样做,并想出了我想这是我想做的事情的基础。我有四张 table 。其中一个只是包含用户信息的表格,其中会显示“这是您正在获取信息的用户”。其他三个有我需要汇总的实际信息。
table_1 包含有关哪个用户的信息。所以是用户 ID。
table_2 具有与 table_3 的内容相关的用户唯一的标题和描述。 table_3 包含所有基本信息。任何用户都可以在 table_3 中拥有相同的行。 table_3 说“这就是内容”,table_2 说“这就是这个特定用户与 table_3 的关系。
table_4 是 table_2 行的组。
因此,用户可以说我想要这张图片、视频,或者“酷东西”组中的任何内容。将所有信息添加到数据库后,您将获得用户想要的组内的基本内容信息(table_3)(table_4),并且它将是用户特定的内容,因为他们将在 table_2 中添加内容。
实际上将所有信息放入数据库很容易。将其拉出来并放在一起是我感到困惑的地方。 ON 的每个部分都是相关的。我的数据库是 innodb 并且我设置了外键,因此例如在第一个 SELECT table_2.userId 上是 table_1.id 的外键。
最后我想要的是一个包含标题、描述、链接、组名的数组。我正在将 php 与 mysql 一起使用,但我想如果我实际上可以获得正确的查询或我需要的查询,我可以弄清楚我需要做什么。
如果需要更多信息,请告诉我,以便我可以使事情变得更清楚或其他。
SELECT tile, description
FROM table_2
INNER JOIN table_1
ON table_2.userId = table_1.id
SELECT link
FROM table_3
INNER JOIN table_2
ON table_3.id = table_2.table_3Id
SELECT groupName
FROM table_4
INNER JOIN table_2
ON table_4.id = table_2.table_4Id
最佳答案
SELECT tile, description, link, groupName
FROM table_2
JOIN table_1 ON table_2.userId = table_1.id
JOIN table_3 ON table_3.id = table_2.table_3Id
JOIN table_4 ON table_4.id = table_2.table_4Id
关于mysql - 如何组合这些选择/连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9471189/