簡體   English   中英

從同一張表中獲取兩張表 SQL

[英]Get two tables from same table SQL

我有兩張桌子

城市

id  name
------------
1   Helsinki
2   Tukholma
3   Oslo
4   Turku

航班

id  where_id    to_id
---------------------
1   1           2
2   1           3
3   2           3
4   2           4

我想得到這個結果

Helsinki    Tukholma
Helsinki    Oslo
Tukholma    Oslo
Tukholma    Turku

如何編寫查詢? 結果有兩個名稱列,我無法繞過它?

您可以加入兩次:

select c1.name where_city, c2.name to_city
from flights f
inner join cities c1 on c1.id = f.where_id
inner join cities c2 on c2.id = f.to_id

你需要兩個連接:

select f.*, cw.name, ct.name
from flights f join
     cities cw
     on f.where_id = cw.id join
     cities ct
     on f.to_id = ct.id;

我找到了這個解決方案。 很清楚。 沒有 JOIN

SELECT A.name, B.name FROM cities A, cities B, flights F WHERE F.where_id=A.id AND L.to_id=B.id;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM