在具有相同名称但在不同表格中的三个Colom中查找相同的值

时间:2016-09-08 23:08:25

标签: php mysql sql

我目前正在制作一款Android应用,它使用Feed来显示用户制作的状态。我在同一个数据库中有三个表,每个表都有用户名作为主键或唯一键列,但每个表都有与该用户相关的不同信息。

例如,第一个表===>> tbl_users:

  • 用户名
  • fname(名字)
  • mname(中间名)
  • lname(姓氏)
  • 等。 (清单很长)

第二个表===>> tbl_userprofilepictures:

  • profilepictureID
  • 用户名
  • profilepicturepath

第三个表===>> tbl_user_feed:

  • postID(状态'唯一ID)
  • 用户名
  • 状态
  • imagepostpath(以状态上传的图片的路径)
  • 时间戳

我希望能够在所有三个表中搜索用户名,并在帖子上显示与他们相关的相关信息。例如,我需要他们的名字和姓氏为tbl_users,我将需要他们的profilepicturepath为tbl_userprofilepictures以及他们的状态,imagepostpath和来自tbl_user_feed的时间戳。

我需要在单独的PHP文件或应用程序本身中执行此操作吗? PS我在PHP上相当不错,所以请随时帮忙。

愿力量与你同在。

1 个答案:

答案 0 :(得分:0)

您可以使用JOIN

什么是JOIN

  

SQL JOIN子句用于根据两个或多个表之间的公共字段组合来自两个或多个表的行。

来源:w3schools.com Joins

以下是我根据您给出的表格制作的样本。对于这些,我们的共同领域是username

SELECT CONCAT('a.fname', 'a.lname'), b.profilepictureID, c.status, c.imagepostpath, c.timestamp 
FROM 
tbl_users as a
LEFT JOIN tbl_userprofilepictures as b ON b.username = a.username
LEFT JOIN tbl_user_feed as c ON c.username = a.username

使用Alias (table_name as custom_name)是加入表格的好方法