首页 > 解决方案 > 基于用户登录的表中的Mysql数据库连接查询

问题描述

我有 2 个 mysql 表 -websitesfiles. 我期待最终结果表向我显示每个登录用户的所有网站 ID,并针对他们显示正确的文件名。

我尝试了以下方法:

SELECT w1.websites_id ,w1.name ,f1.file_name ,f1.user_id
FROM websites w1 
LEFT JOIN files f1 ON f1.websites_id=w1.websites_id

我当前的输出如下


websites_id | websites_name |uploaded_user| file_name
----------------------------------------------------
1           | abc.com      | user1        | test.png
2           | 123.com      | user1        | start.png
2           | 123.com      | user2        | fast.png4
----------------------------------------------------

用户 2 的网站 1 (abc.com) 需要显示在我的茶几中,但无法获得

-----------------------------
Websites_id | websites_name |
1           | abc.com       |
2           | 123.com       |
----------------------------

Files Table
-----------------------------
Files_name | websites_id  | uploaded_user|
------------------------------------------
test.png   |  1            | user1
start.png  |  2            | user1
fast.png    | 2            |  user2
------------------------------------------

我需要预期的输出

websites_id | websites_name |uploaded_user| file_name
----------------------------------------------------
1           | abc.com      | user1        | test.png
2           | 123.com      | user1        | start.png
1           | abc.com      | user2        | null
2           | 123.com      | user2        | fast.png
1           | abc.com      | user3        | null
2           | 123.com      | user3        | null


标签: phpmysqldatabase

解决方案


您可以尝试使用 INNER JOIN Query 像这样运行吗

从网站中选择 w1.websites_id ,w1.name ,f1.file_name ,f1.user_id w1 INNER JOIN files f1 ON f1.websites_id=w1.websites_id


推荐阅读