inner join 很奇怪的有关问题
inner join 很奇怪的问题
有一表“型号名称表” 和一视图“累计统计01”,里面各有一条记录。
现在将两者如果型号规格、材质、单价三者同时相等时,用inner join连接起来查询。代码如下
结果:
这样的查询语句竟然结果为空。两者中型号规格、材质、单价,其实是有相等的啊(型号规格4Z40-150LB,材质CF8C,单价315.8),怎么连接查询结果为空啊?
后来我用left outer jion 又可以查询出来。代码如下
结果:
[img=http://img.bbs.csdn.net/upload/201405/27/1401202819_47605.jpg][/img
这样是有查询结果的。请问大家为什么那个inner join 查不到啊?
------解决方案--------------------
逐个条件排除看看
------解决方案--------------------
try this,
------解决方案--------------------
若仍有问题,建议比对各个关联字段的数据类型是否一致?查看字符串后是否带有空格或其他不可见的字符?
------解决方案--------------------
把表结构贴出来看看,看看能不能复现
------解决方案--------------------
楼主要弄清楚inner join 与left join 的区别
你这个left join on条件不满足时,都会显示表【累计统计01】里的记录的
------解决方案--------------------
access很神奇
------解决方案--------------------
建议楼主看一下联机帮助,先弄清left join 的含义吧——ON的条件满不满足都会将左表记录全部显示出来
有一表“型号名称表” 和一视图“累计统计01”,里面各有一条记录。
现在将两者如果型号规格、材质、单价三者同时相等时,用inner join连接起来查询。代码如下
SELECT 累计统计01.材质, 累计统计01.总重量, 累计统计01.总金额, 累计统计01.单价,
型号名称表.名称, 累计统计01.规格及型号
FROM 累计统计01 INNER JOIN 型号名称表
ON (累计统计01.单价 = 型号名称表.单价)
AND (累计统计01.材质 = 型号名称表.材质)
AND (累计统计01.规格及型号 = 型号名称表.规格型号);
结果:
这样的查询语句竟然结果为空。两者中型号规格、材质、单价,其实是有相等的啊(型号规格4Z40-150LB,材质CF8C,单价315.8),怎么连接查询结果为空啊?
后来我用left outer jion 又可以查询出来。代码如下
SELECT 累计统计01.材质, 累计统计01.总重量, 累计统计01.总金额,
累计统计01.单价, 型号名称表.名称, 累计统计01.规格及型号
FROM 累计统计01 LEFT JOIN 型号名称表 ON
(累计统计01.单价 = 型号名称表.单价)
AND (累计统计01.材质 = 型号名称表.材质)
AND (累计统计01.规格及型号 = 型号名称表.规格型号);
结果:
[img=http://img.bbs.csdn.net/upload/201405/27/1401202819_47605.jpg][/img
这样是有查询结果的。请问大家为什么那个inner join 查不到啊?
------解决方案--------------------
逐个条件排除看看
------解决方案--------------------
try this,
SELECT 累计统计01.材质, 累计统计01.总重量, 累计统计01.总金额,
累计统计01.单价, 型号名称表.名称, 累计统计01.规格及型号
FROM 累计统计01
inner join 型号名称表 ON
(累计统计01.单价 = 型号名称表.单价)
AND (累计统计01.材质 = 型号名称表.材质)
AND (累计统计01.规格及型号 = 型号名称表.规格型号);
------解决方案--------------------
若仍有问题,建议比对各个关联字段的数据类型是否一致?查看字符串后是否带有空格或其他不可见的字符?
------解决方案--------------------
把表结构贴出来看看,看看能不能复现
------解决方案--------------------
楼主要弄清楚inner join 与left join 的区别
你这个left join on条件不满足时,都会显示表【累计统计01】里的记录的
------解决方案--------------------
access很神奇
------解决方案--------------------
建议楼主看一下联机帮助,先弄清left join 的含义吧——ON的条件满不满足都会将左表记录全部显示出来