我甚至不确定如何问这个问题,所以请耐心等待。
我有两张桌子,会面和地点,他们是通过见面会的地方联系在一起的。和位置' id'
我正在使用此查询:
$query = "SELECT * FROM meets LEFT JOIN locations ON locations.id=meets.loc ORDER BY date DESC";
$meets = mysqli_query($con, $query);
虽然它成功地加入了桌子,但我失去了会议的内容。因为它被地理位置覆盖了#id;'。所以我最终得到两个相同的条目' id'和' loc'。
有没有办法避免这种情况,因为我需要调用meet id?
答案 0 :(得分:4)
不要选择*,选择您需要的列并使用as
关键字重命名它们
SELECT locations.id as loc_id, meets.id as meets_id, ... FROM meets LEFT JOIN locations ON locations.id=meets.loc ORDER BY date DESC
将...
替换为您要选择的其他列以及可能的重命名列。
答案 1 :(得分:0)
您可以使用以下查询为locations.id设置别名:
SELECT meets.*, locations.id AS loc_id FROM meets LEFT JOIN locations ON locations.id=meets.loc ORDER BY date DESC
您可以添加locations
中您可能还需要的任何其他列。您还可以进一步选择meet
而不是meet.*
答案 2 :(得分:0)
您可以尝试使用SELECT meets.*, locations.id as locationId, locations.<row> as location<Row>, ...
答案 3 :(得分:0)
不确定语法是否完全相同,但在SQL Server中语法是:
SELECT m.*, l.id as LocationId
FROM meets m
LEFT JOIN locations l
ON l.id=m.loc
ORDER BY date DESC