从多个mysql表中提取数据

Posted

技术标签:

【中文标题】从多个mysql表中提取数据【英文标题】:Pulling data from multiple mysql tables 【发布时间】:2018-06-30 06:01:09 【问题描述】:

您好,我正在为我的 android 应用程序创建一个 API,并从数据库中提取帖子到目前为止,我成功提取了带有照片和标题的帖子,但我不知道如何提取存储在我的帖子中的用户个人资料图片和用户名用户表。请任何人指出我正确的方向将是一个救世主。这是我在 php 中用来提取帖子详细信息的代码

$sql = "SELECT * FROM Posts";
$result = $conn->query($sql);

if ($result->num_rows >0) 
 // output data of each row
while($row[] = $result->fetch_assoc()) 

$tem = $row;

$json = json_encode($tem);

 

【问题讨论】:

【参考方案1】:

你想要的是一个连接。可以在 w3schools 上找到有关基础知识的良好参考。

基本上(并且不知道数据库的详细信息)在两个表中都必须有一个连接 ID,在这种情况下是一个用户 ID。例如:

SELECT
  Posts.id,
  Posts.user_id,
  Posts.caption,
  Posts.photo,
  Users.user_id,
  Users.username,
  Users.profile_pic
FROM Posts
INNER JOIN Users ON (Users.user_id = Posts.user_id);

这将获取每个帖子,并且对于每个帖子,它将从用户表中获取相关行(其中 user_id 与帖子中的相同)。

【讨论】:

这正是我所需要的。从这里我会学习其他所有东西,因为我是那种通过反复试验来学习的人。非常感谢@onik

以上是关于从多个mysql表中提取数据的主要内容,如果未能解决你的问题,请参考以下文章

使用 PHP 和 mysqli 从多个 MySQL 表中获取数据

如何从一个工作表内的多个提取数据记录到另一个工作表中,并在数据后面加一个分隔标记。

如何将嵌套哈希提取到数据库表中?

使用 LINQ 和实体框架在一个 SQL 查询中从多个表中提取数据

关于使用啥 pl-sql 从 Oracle 10G 数据库中提取大量记录(六百万)的任何建议,并从多个表中进行连接? [复制]

DB2 和 SQL-如何在特定字段中返回最大值,以便每行只显示一条记录;从多个表中提取数据