对此感到抱歉。关于这一点有一百万个帖子。不知怎的,我仍然缺少一些东西。简单的内连接完全如下: http://www.w3resource.com/mysql/advance-query-in-mysql/inner-join-with-multiple-tables.php
无能为力是什么问题。只是尝试将组织添加到机器记录中。 我希望如果user_name上没有匹配项,那么机器记录将被删除,或者不是,但无论如何,< =机器中的记录数。获得倍数。 Machines.machine_name和user_name在计算机中不是唯一的,因为每台计算机都跟踪了多个软件包。
选择users2.org,machines.User_name,machines.Machine_name,machines.model,machines.program,machines.version 来自机器内部联接users2 on users2.user_name = machines.User_name
答案 0 :(得分:0)
您可能希望在此汇总,因为您将获得共享user_name
的所有计算机的笛卡尔积:
select users2.org,
machines.User_name,
machines.Machine_name,
machines.model
from machines
inner join users2 on users2.user_name = machines.User_name
GROUP BY users2.org, machines.User_name, machines.Machine_name, machines.model
答案 1 :(得分:0)
感谢您的投入。问题在于,当数据被按下时(user_name原本是1个案例中的电子邮件而另一个是windows网络id),两个表中缺少的user_names都变为''。这导致连接匹配到我没想到的地方。缺少的user_name字段应该具有不同的默认值。我修复了机器表中的默认值,并用“where machines.User_name<>'Unknown';”将它们排除在外。现在我得到了我期望的结果。除了更好地了解您的数据之外,可能无需学习任何内容。