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