pgsql - 在查询中两次使用INNER JOIN时无输出

pgsql - 在查询中两次使用INNER JOIN时无输出

img


而查询两个表是却有输出,

img

这是为什么呢?

1、根据你第14行号的说明,你需要由牛只表关联事件表再关联配种表,然后提取出最近一次配种及使用的精炼,不过不清楚你具体的表结构
2、你关联牛只表及事件表时,你使用的是一个日期字段,显然,你至少应该使用牛只的ID字段,使用日期字段关联……嗯……数据乱得超出你的想象……你两个表的关联输出有30万的数据量,估计两个表的实际数据量应该少太多
3、即便你的关联没有问题,根据你前两张表的关联输出结果,你关联结果中的 a.sid_id 全部null,以该字段去关联 配种表,当然一条数据都无法关联出来的
4、实际上,根据你要查询的目标,你还需要从牛只表与事件表的关联结果中提取出最近一次配种事件的事件ID,然后再关联配种表提取出相应的配种及精炼信息……

参考GPT和自己的思路:

根据你提供的截图,我猜测你在第一个查询中可能没有正确使用INNER JOIN。在INNER JOIN语句中,必须使用ON子句来设置两个表之间的连接条件。如果连接条件不正确,可能会导致查询不返回任何结果。

我建议先仔细检查第一个查询中INNER JOIN的语法是否正确,并确保设置的连接条件与表中的数据匹配。如果语法是正确的并且连接条件正确,那么你可能需要进一步检查数据是否存在问题。你可以首先尝试使用单独的SELECT语句来检查每个表中的数据,并确保两个表中都存在至少一条能够匹配的数据。如果数据存在问题,那么你需要对数据进行修正或清洗,以确保可以正确地进行查询。

试试看换成 left join