如何将表连接在一起 - SQL

时间:2015-04-29 09:44:01

标签: mysql sql mysql-workbench

这是一个SQL问题

我需要使用内部联接语法将两个表连接在一起。一个名为Entry,另一个名为Award。我需要列出SELECT event_id, horse_id, place FROM ENTRY INNER JOIN PRIZE ON ENTRY.money = PRIZE.money

Test Field

据我所知,我无法理解它。

testfield

由于

2 个答案:

答案 0 :(得分:3)

SELECT e.Event_id, e.Horse_id, e.place, p.money

FROM ENTRY e join Prize p

ON e.Event_id = p.Event_id

where e.place = p.place;

e和p用作表的别名,以避免因长表名而无法读取sql。

使用e。或者p。您将选择该表的字段,因为两个表都可能具有相同名称的字段,因此执行语句时会出现问题

我添加了e.place = p.place,因为如果你没有获得与每个奖项匹配的每个活动的每个地方的结果

例如,你会得到 活动1马1名1奖1 活动1匹马1名1奖2 活动1马1名1奖3 活动1匹马1名1奖4 等等...直到你获得每一个奖项,并且每个参赛作品都是相同的,假设奖品的活动等于参赛作品

答案 1 :(得分:1)

您应该使用别名来避免歧义

select 
e.event_id,
e.horse_id,
e.place,
p.Money
from ENTRY e 
join PRIZE p on p.event_id = e.event_id