构建PHP/MySQLJoin查询的问题


Issue Building PHP / MySQL Join Query

我在构造这个JOIN查询时遇到了一些问题。非常感谢您的帮助!谢谢

我这里有三张桌子。表A列出了我们的"用户"。他们通过身份证号码来识别。表C列出了通过身份证号码识别的位置。表B包含表A和表C之间的连接。uid是用户的id,lid是位置的id。用户可能与多个位置相关联。

我需要构建一个查询,该查询将获取用户的id,找到与用户id相关联的所有位置并返回它们。

表A

|     id     |     name     |
-----------------------------
|     0      |     steven   |
-----------------------------
|     1      |      etc     |
-----------------------------

表B

|     id     |     uid      |     lid     |
-------------------------------------------
|     0      |      0       |      1      |
-------------------------------------------
|     1      |      1       |      1      |
-------------------------------------------

表C

|     id     |   location_name   |
----------------------------------
|     0      |    santa monica   |
----------------------------------
|     1      |      hamptons     |
----------------------------------

您可以像下面的一样尝试

SELECT 
    A.id as user_id,
    A.name as user_name,
    C.location_name as location
FROM
    TableA A
        JOIN
    TableB B ON A.id = B.uid
        JOIN
    TableC C ON B.lid = C.id
WHERE
    A.id = 0;
SELECT u.id, u.name, l.id, l.location_name
FROM users u
JOIN connection c
ON c.uid = u.id
JOIN locations l
ON c.lid = l.id
WHERE u.id=?
GROUP BY l.id;  
   select A.name, C.location_name from B inner join A on B.uid=A.id inner join C on B.lid= C.id where A.id='".$id."' ;

这里$id将是您输入的用户id

我建议您删除表B,只保留表A和表C。

表A

|     id     |     name     |
-----------------------------
|     0      |     steven   |
-----------------------------
|     1      |      etc     |
-----------------------------

表C

|     id     |   location_name   |   uid  | 
-------------------------------------------
|     0      |    santa monica   |   0    |
-------------------------------------------   
|     1      |      hamptons     |   1    |
-------------------------------------------

我提出的表C有一个外键,它引用了表a的id

现在你可以有一个类似的查询

select * from tableA A
inner join
tableB B on
A.id = B.uid