我不确定这是否完全可以按照标题中的说明进行操作,但是无论如何,我试图完成的工作就是将一个表中的两列连接起来,每列分别放在一个单独的表上。

这是我正在处理的声明。不幸的是,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记录中,选择一个HAND_B字段与击球手中的HAND_B字段相对应的记录

我可以将“ h.HAND_B = u.HAND_B”放在where子句中,但这将要求UMPIRE_ID不为NULL,并且我需要公开它为NULL的可能性。

我该怎么做?

最佳答案

您需要修改查询,如下所示

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;

关于mysql - 从一个表的两个列上左联接两列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32492090/

10-13 08:53