使用 MySQL,我正在尝试执行JOIN
类似于使用JOIN
withOR
语句的方式,例如:
JOIN bioguide ON (bioguide.fulldistrict=house.districtname) OR
(left(bioguide.firstname,3)=left(house.first,3) AND bioguide.lastname=house.last) OR
(bioguide.fulldistrict=house.districtname AND bioguide.lastname=house.last)
您可能知道,这样做的问题在于,如果有一堆不同的方法起作用,那么每行都会得到多个结果。
我希望有一种方法可以使用JOIN
并按照函数的工作方式使用它COALESCE
,基本上说明(即使它不起作用):
JOIN bioguide ON COALESCE(bioguide.firstname=house.first AND
bioguide.lastname=house.last),(left(bioguide.firstname,3)=left(house.first,3) AND
bioguide.lastname=house.last),(bioguide.fulldistrict=house.districtname AND
bioguide.lastname=house.last))
如果这行得通,它会告诉 SQL 先JOIN
on(bioguide.firstname=house.first AND bioguide.lastname=house.last)
然后 on (left(bioguide.firstname,3)=left(house.first,3) AND bioguide.lastname=house.last)
,等等。
这样的事情可能吗?请让我知道其他信息是否会有所帮助。
谢谢大家!