[英]mysql joins on the same table
node = id,title,kenya_hotel_id,tanzania_hotel_id 节点= id,标题,kenya_hotel_id,tanzania_hotel_id
2,Fantastic package for kenya and Tanzania, 8, 5
5,Delux package for kenya and tanzania, 8, 4
hotel = id,name,star 酒店= ID,名称,星级
4, simba continental, 3 star
5, african safari hotel, 4 star
8, kenya hotel, 5 star
Mysql statement which I have attempted as below 我尝试如下的MySQL语句
SELECT node.title AS title,
hotel.name AS kenyan_hotel,
hotel.star AS kenya_hotel_star,
hotel.name AS Tanzanian_hotel,
hotel.star AS Tanzanian_hotel_star
FROM
node
INNER JOIN node on node.kenya_hotel_id = hotel.id
LEFT JOIN node on node.tanzania_hotel_id = hotel.id
well i would like results such as 好吧,我想要这样的结果
title, kenya hotel name, kenya hotel star, tanzania hotel, tanzania hotel star
what am i doing wrong? 我究竟做错了什么?
You need table aliases 您需要表别名
SELECT n.title AS title,
hotelk.name AS kenyan_hotel,
hotelk.star AS kenya_hotel_star,
hotelt.name AS Tanzanian_hotel,
hotelt.star AS Tanzanian_hotel_star
FROM node n INNER JOIN
hotel hotelk
on n.kenya_hotel_id = hotelk.id LEFT JOIN
hotel hotelt
on n.tanzania_hotel_id = hotelt.id;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.