SELECT
opreator.o_name,
city.c_name as dept,
city.c_name as destination,route.fare
FROM opreator
INNER JOIN route ON opreator.id=route.id
LEFT OUTER JOIN city ON city.id=route.dep
我想打印數據
o_name| dep| dest|fare
SELECT
opreator.o_name,
city.c_name as dept,
city.c_name as destination,route.fare
FROM opreator
INNER JOIN route ON opreator.id=route.id
LEFT OUTER JOIN city ON city.id=route.dep
我想打印數據
o_name| dep| dest|fare
你應該使用兩個使用表的別名
SELECT
opreator.o_name,
c1.c_name as dep,
c2.c_name as destination,
route.fare
FROM route
INNER JOIN opeator on opreator.id=route.id
INNER JOIN city as c1 on c1.id = route.dep
INNER JOIN city as c2 on c2.id = route.dest
當你在城市加入JOIN
兩張桌子的條件應該是WHERE table1.foreign_key = table2.primary_key
。
您的第一次加入有一個條件WHERE table1.primary_key = table2.primary_key
這是沒有意義的。一個表的主鍵與另一個表的主鍵無關。
您還需要加入city
表兩次,一次爲dep
,再次爲dest
。
試試這個:
SELECT opreator.o_name, c1.c_name as dept, c2.c_name as destination, route.fare
FROM route
JOIN opreator ON route.opreator = opreator.id
JOIN city c1 ON route.dep = c1.id
JOIN city c2 ON route.dest = c2.id
錯誤 SQL查詢:文檔 SELECT opreator.o_name,c1.c_name的部門,c2.c_name作爲目標,route.fare 從路線 JOIN opreator ON route.opreator = opreator.id 加盟同城C1 ON route.dep = c1.id JOIN city c2 ON route.dest = c2.id LIMIT 0,25 – aqib
什麼是當前的輸出,以及爲什麼你認爲這是錯的? –
當前輸出是o_name | DEP | DEP |票價 – aqib
您有兩次'city.c_name',它自然會給出相同的結果。 – Picard