PHP SQL : Selecting fields from three tables that are not interlinked

标签 php mysql

我目前面临一个问题,无法链接 3 个单独的 SQL 表。以下是不同表的相关部分。

Comments
commentID userID staffID comment   comment_date
       52   1037       0 sadsadsa   2016-01-12
       54      0    1050 asda       2016-01-12

Users
userID first_name last_name 
  1036 Janet      Ang       
  1037 glenn      tan       

Staffs
staffID staffName 
   1001 Ling Ling 
   1011 Lee Ming  
   1003 Joyce     
   1010 Titus     
   1008 Vivian    
   1005 Vincent   
   1006 Alex      
   1046 Glenn     
   1047 Glenn2    
   1048 glennjr2  
   1049 glenn3    
   1050 glenn4   

我目前正在尝试检索用户和工作人员的评论,这三个表没有关联。 “评论”表链接到“用户”和“员工”表,但“用户”和“员工”表没有链接在一起。我正在使用这个查询

SELECT comments.comment, users.first_name, users.last_name, staffs.staffName, comments.comment_date 
                        FROM comments  
                        INNER JOIN users  
                        on comments.userID = users.userID 
                        LEFT OUTER JOIN staffs 
                        on comments.staffID = staffs.staffID 
                        WHERE comments.videoID = $vid_id

任何人都可以帮忙看看如何更改查询来解决我的问题吗?感谢您提供的任何帮助。

最佳答案

您可以对两个表使用 INNER JOIN (users,staffs)comments表:

示例:

SELECT comments.comment, users.first_name, users.last_name, staffs.staffName, comments.comment_date
FROM comments
INNER JOIN users ON comments.userID = users.userID
INNER JOIN staffs ON comments.staffID = staffs.staffID
WHERE comments.videoID = $vid_id

此后,您将得到两个结果,一个为 users和一个 staffs .

如果您需要所有用户和员工 comments可用或不可用 LEFT JOIN使用相同的查询。

关于PHP SQL : Selecting fields from three tables that are not interlinked,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34739960/

相关文章:

php - 选择最有效的方法是什么,然后立即删除

php - 我如何从数据库中选择并使用函数将值存储在数组中?

php - 从下拉列表中选择并使用 php mysql inner join 显示正确的结果

javascript - Html动态表单字段取值区别

php - 如何在 PHP 中创建经常性金额字段?

php - 如何禁用下拉选项

mysql - 防止同一个人重复申请/个人资料?

PHP 和 Paypal 。单击提交时,将数据保存到数据库并重定向到 paypal

MySQL外键约束多表同一个字段

php - 将文件用于数据库类 : permission denied 中的 PDO 连接后删除文件(使用 unlink())