昨天花了几个小时后,我决定在这里发帖。我有一个包含很少表的数据库,我需要根据用户表的idusers(用户ID)加入4个表。
需要加入的四个表是:users,table1,table2和table3。
users
idusers, name, email, a, b, c, etc.
table1
custom_id1, a_id, users_idusers
table2
custom_id2, a_id, users_idusers, comment
table3
custom_id3, lang
他们的关系如何: - 用户注册并将数据存储到用户表:我需要此表中的所有字段。 - 当他们采取行动时,它会存储在table1中(其中users_idusers是users.idusers)。 - 某些操作(带注释)注册到table2(users_idusers是users.idusers)。 - table1和table2的a_id字段相同并映射到table3的custom_id3。
我需要什么: 我希望能够将table1中的所有操作从用户表中映射到其用户,将table3映射到lang和table2(如果有注释,则获取文本或为该字段返回null。)。
我的查询是什么样的:
SELECT table1.a_id, table1.users_idusers, users.*, table3.langkey
FROM table1
LEFT JOIN users ON (users.idusers = table1.users_idusers)
LEFT JOIN table3 ON (table1.a_id = table3.custom_id3);
上面的查询缺少需要加入table2的部分,而这就是我被困住的地方。任何帮助将不胜感激。
谢谢。
答案 0 :(得分:0)
SELECT u.*
, and
, some
, other
, columns
FROM users u
JOIN table1 a
ON a.users_idusers = u.idusers
JOIN table3 l
ON l.custom_id3 = a.a_id
LEFT
JOIN table2 c
ON c.a_id = a.a_id
[AND c.users_idusers = a.users_idusers]??