MySQL - 更多连接运算符、更多别名和错误 1066
MySQL - More Join operators, more aliases and Error 1066
希望你能再次帮助我:)
好吧,我遇到的问题与我昨天发布的问题类似,但它被扩展了。
我们得到三个table:
弗莱格
车站
米塔贝特
如上所述,这个问题与 this 问题非常相似。
结果如何?好吧,我取回一份 table,其中包含居住在法兰克福的工人的 ID 和姓名。
现在我应该另外取回居住在法兰克福并在名为 Onkologie 的车站工作的工人的 ID 和姓名。
我应该怎么做?
到目前为止我的代码:
SELECT pfleger.PNR, Name
from mitarbeiter, ...
JOIN pfleger on (mitarbeiter.PNR=pfleger.PNR)
JOIN ...
where Ort='Frankfurt' and Name='Onkologie'
我不知道如何进行 2nd JOIN。
根据为 table 提供的 table 名称和列名称更新。
注意:我们在您的基本查询中删除了 mitarbeiter 之后的 ,
符号。
我在 mitabeiter 中没有看到 PNR,所以我假设 stationID 是他们加入的方式。
SELECT *
FROM pfleger P
INNER JOIN Station S
on S.StationId = P.StationID
INNER JOIN mitarbeiter M
on M.pnr = S.pnr
WHERE M.ORT='Frankfurt' and P.name = 'Onkologie'
我做出的假设:
pfleger.stationID 与 station.stationID 有外键关系
mitarbeiter.PNR 与 station.PNR
有外键关系
我们在这里使用了内部连接,因为我们只需要存在于所有 3 table 中的 Mitarbeiter。
否则我们可以使用外连接和 return 那些没有记录的人。 (意思是不知道他们在哪里工作,可能是 'Onkologie' 但我们不知道,因为没有记录。)
你可以试试这样的
select m.PNR, m.Name
from Mitarbeiter m
inner join Station s on s.PNR = m.PNR
inner join Pfleger p on p.StationID = s.StationID
where
m.Ort = 'Frankfurt'
and p.Name = 'Onkologie'
希望你能再次帮助我:)
好吧,我遇到的问题与我昨天发布的问题类似,但它被扩展了。
我们得到三个table:
如上所述,这个问题与 this 问题非常相似。
结果如何?好吧,我取回一份 table,其中包含居住在法兰克福的工人的 ID 和姓名。
现在我应该另外取回居住在法兰克福并在名为 Onkologie 的车站工作的工人的 ID 和姓名。
我应该怎么做?
到目前为止我的代码:
SELECT pfleger.PNR, Name
from mitarbeiter, ...
JOIN pfleger on (mitarbeiter.PNR=pfleger.PNR)
JOIN ...
where Ort='Frankfurt' and Name='Onkologie'
我不知道如何进行 2nd JOIN。
根据为 table 提供的 table 名称和列名称更新。
注意:我们在您的基本查询中删除了 mitarbeiter 之后的 ,
符号。
我在 mitabeiter 中没有看到 PNR,所以我假设 stationID 是他们加入的方式。
SELECT *
FROM pfleger P
INNER JOIN Station S
on S.StationId = P.StationID
INNER JOIN mitarbeiter M
on M.pnr = S.pnr
WHERE M.ORT='Frankfurt' and P.name = 'Onkologie'
我做出的假设: pfleger.stationID 与 station.stationID 有外键关系 mitarbeiter.PNR 与 station.PNR
有外键关系我们在这里使用了内部连接,因为我们只需要存在于所有 3 table 中的 Mitarbeiter。 否则我们可以使用外连接和 return 那些没有记录的人。 (意思是不知道他们在哪里工作,可能是 'Onkologie' 但我们不知道,因为没有记录。)
你可以试试这样的
select m.PNR, m.Name
from Mitarbeiter m
inner join Station s on s.PNR = m.PNR
inner join Pfleger p on p.StationID = s.StationID
where
m.Ort = 'Frankfurt'
and p.Name = 'Onkologie'