我遇到在那里产生不正确的查询的情况:MySQL的内部联接不应产生结果...但它确实
select a.id, e.ethnicity_cd, e.appl_person_id from applicants a
inner join ucpsom_production_ucpsom_production.ETHNICITY e
on e.appl_person_id = a.id
where a.amc_id = 12977319
的错误是在连接语句。该语句应为“e.appl_person_id = a.appl_person_id
”,并且不返回记录,因为没有e.appl_person_id
值等于“80cbacb2-8444-11df-acd2-12313b079cc4”,a.id
值。
接下来发生的事情是,MySQL将80(对于e.appl_person_id)的值与80cbacb2-8444-11df-acd2-12313b079cc4(对于a.id)的值匹配。因此:
80 =“80cbacb2-8444-11df-acd2-12313b079cc4”。
*注:e.app_person_id是一个十进制和a.id是一个字符串*它看起来像MySQL是a.id值的前两个字符比较的e.appl_person_id值。
任何人都可以解释为什么这是与MySQL发生的,而且,这是特定于MySQL的性质?
谢谢了。
非常感谢您的参考。解释一切! – imarichardson 2011-02-01 15:45:57