繁体   English   中英

如何将一列连接到另一个表中的两列

[英]How to join one column to two columns in other table

自上午 11 点以来一直困扰着我的 select 的问题非常棘手。 所以我的意思是,我有两个名为 Lotnisko 和 Loty ERD的表,如图所示。

这就是表格的外观:

Lotnisko 表示机场 /// Loty 表示航班 /// NumerLotu 是 FlightNumber /// MiejsceOdlotu 是出发地 /// MiejscePrzylotu 是到达地

我现在最好的 select 是这个

select Loty.NumerLotu as [Numer Lotu], Lotnisko.Nazwa as [Miejsce Odlotu]
from Loty
JOIN Lotnisko on Loty.MiejsceOdlotu = Lotnisko.LotniskoID
where NumerLotu = 'KL1995'

select Loty.NumerLotu as [Numer Lotu], Lotnisko.Nazwa as [Miejsce Przylotu]
from Loty
JOIN Lotnisko on Loty.MiejscePrzylotu = Lotnisko.LotniskoID
where NumerLotu = 'KL1995'

这给了我这个结果:结果

我想要什么? 我想得到一个 select,我得到的最好的一个是:

select Loty.NumerLotu as [Numer Lotu], Lotnisko.Nazwa as [Miejsce Odlotu], Lotnisko.Nazwa as [Miejsce Przylotu]
from Loty
JOIN Lotnisko on Loty.MiejsceOdlotu = Lotnisko.LotniskoID
JOIN Lotnisko przylot on Loty.MiejscePrzylotu = przylot.LotniskoID
where NumerLotu = 'KL1995'

这是结果: Result2

我想在 output 中有这个:

数莲花 米耶斯·奥德洛图 Miejsce Przylotu
KL1995 港口lotniczy 阿姆斯特丹-史基浦 港口lotniczy Kraków-Balice

将您的查询更改为:

select 
   t1.NumerLotu as [Numer Lotu],
   t1.Miejsce_Odlotu as [Miejsce Odlotu],
   t2.Miejsce_Przylotu as [Miejsce Przylotu]
from

  (select Loty.NumerLotu as Numer_Lotu, Lotnisko.Nazwa as Miejsce_Odlotu
  from Loty
  JOIN Lotnisko on Loty.MiejsceOdlotu = Lotnisko.LotniskoID
  where NumerLotu = 'KL1995') t1

join

  (select Loty.NumerLotu as Numer_Lotu, Lotnisko.Nazwa as Miejsce_Przylotu
  from Loty
  JOIN Lotnisko on Loty.MiejscePrzylotu = Lotnisko.LotniskoID
  where NumerLotu = 'KL1995') t2
  
on t1.Numer_Lotu = t2.Numer_Lotu

这是相当简单的。 只需在连接中使用(可选) AS关键字,并参考SELECT中的表格。

SELECT
    t1.Numer_Lotu AS "Numer Lotu",
    t1.Miejsce_Odlotu AS "Miejsce Odlotu",
    t2.Miejsce_Przylotu AS "Miejsce Przylotu"
FROM Loty
INNER JOIN Lotnisko AS t1
    ON Loty.MiejsceOdlotu = t1.LotniskoID
INNER JOIN Lotnisko AS t2
    ON Loty.MiejscePrzylotu = t2.LotniskoID
WHERE NumerLotu = 'KL1995'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM