我的任务是连接 3 个表:
任务、单位和建筑物。
任务表有一列表示单位,一列表示建筑物。
任何单一任务仅分配给一座建筑物或一个单元,而不是两者。
因此,每条记录中的一列始终为空。任务表中有6100条记录。
当我使用这个连接时:
select * from task t
join building b on b.id = t.building_id;
我得到 628 行。这是正确的构建任务总数。
当我使用这个 JOIN 时
select * from active_task at
inner join unit_template ut on ut.id = at.unit_template_id
我得到 5472 行。这是单元任务的正确数量。
如果我将它们加起来 5472+628 =6100,这就是任务表中正确的行数。
当我运行此查询时:
select * from task t
inner join unit ut on ut.id = t.unit_id
inner join building bt on bt.id = t.building_id
我得到零行。我需要查询来检索 6100 行。
任何帮助,将不胜感激。
尝试左连接:
select * from task t
left join unit ut on ut.id = t.unit_id
left join building bt on bt.id = t.building_id
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)