MySQL多表连接/子查询问题

3
大约一年来,我们允许用户使用不唯一的用户名和/或电子邮件地址登录(尽管每个用户都有唯一的ID)。虽然系统可以优雅地处理重复的用户名/电子邮件,但我们决定最终强制执行唯一的用户名和电子邮件地址。我被指派在MySQL中生成一个表格,显示重复项以及使用重复项ID的表格(即依赖于重复项用户ID的表格,使用1表示真,0表示假)。一旦标记重复数据进行删除,将使用此表格作为参考。简而言之,我想生成类似这样的表格:
无论如何实现都没有太大关系。由于我的SQL技能有些欠缺,我打算使用PHP和一些简单的SQL查询来编程完成此操作。但是,我相信单个SQL查询或一系列查询(不使用PHP)是最干净的方法。我知道如何查询重复项,但似乎无法找出如何适当地按用户ID查询多个表并将它们连接起来。感谢您的所有帮助。谢谢。
1个回答

2
SELECT u.User_id, u.Username, u.Email,
 IF(t1.User_id IS NULL, 0, 1) AS Exists_in_Table1,
 IF(t2.User_id IS NULL, 0, 1) AS Exists_in_Table2,
 IF(t3.User_id IS NULL, 0, 1) AS Exists_in_Table3
FROM Users u
LEFT OUTER JOIN Table1 t1 USING (User_id)
LEFT OUTER JOIN Table2 t2 USING (User_id)
LEFT OUTER JOIN Table3 t3 USING (User_id);

谢谢您,回复速度非常快!我一回办公室就会尝试这个。 - Johnny B

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接