从表中选择所有行,从链接表中选择所有相关行

时间:2017-04-04 10:34:51

标签: mysql json pdo

是否有一个查询将返回主表中的所有行以及基于ID返回相关表的所有行。相关表可以具有来自主表的相同ID的多个行。 目前,我从主表中获取所有行,然后遍历该行并使用函数从相关表中获取行。这有效,但似乎并不特别有效。

SELECT * FROM primaryTable 
AND (SELECT * FROM tableImages) as Images 
AND (SELECT * FROM tblReviews) as Reviews

这需要像JSON一样输出......

{id: 1
name:"name1",
address:"address1",
reviews:{reviewID:25,review:"reviewText", reviewID:38,"reviewText2"},
images:{imageID:1234, file"file1.jpg",imageID:3456, file:"file3.jpg"},
latitude:12.3456,
longitude:34.5678
},
{id: 2
name:"name2",
address:"address2",
reviews:{reviewID:29,review:"reviewText", reviewID:57,"reviewText2"},
images:{imageID:12, file"file1.jpg",imageID:34, file:"file3.jpg"},
latitude:12.3456,
longitude:34.5678
}

1 个答案:

答案 0 :(得分:-1)

你必须使用join,示例查询如下所示

SELECT * FROM primaryTable ptable INNER JOIN secondTable stable WHERE ptable.id = stable.id

只需将其复制到您的sql编辑器并替换为您的表格即可使用

您可以参考加入here