我不确定这是否可能完全按照标题中的说明进行,但是我想要完成的事情,无论多么可能,只需要从一个表中连接两列,每个列都在一张单独的表格。
这是我与之合作的陈述。不幸的是,MySQL并不允许我实际执行此操作并向我提供错误消息。还有另一种方法可以实现我想要的吗?我的语法可能只是关闭了吗?
select h.HITTER_ID, u.UMPIRE_ID, u.HAND_B
from
hitters h,
schedules sched
LEFT JOIN
umpires u
ON sched.home_base_umpire_id = u.UMPIRE_ID and h.HAND_B = u.HAND_B
在裁判员表中,每个UMPIRE_ID出现两次,一次是HAND_B =" R"和HAND_B =" L"
基本上,我想:
1)当UMPIRE_ID出现在日程表中时,从裁判中拉出UMPIRE_ID
2)在两个UMPIRE_ID记录中,选择一个HIVE_B字段,该字段对应于击球手中的HAND_B字段
我可以把" h.HAND_B = u.HAND_B"在where子句中,但是这将要求UMPIRE_ID不为NULL,并且我需要保持它为NULL的可能性。
我该如何做到这一点?
答案 0 :(得分:0)
您需要将查询修改为如下所示
select h.HITTER_ID,
u.UMPIRE_ID,
u.HAND_B
from hitters h
left join umpires u on h.HAND_B = u.HAND_B
left join schedules sched ON sched.home_base_umpire_id = u.UMPIRE_ID;