Php 不替换原始id值的Mysql连接
我正在尝试使用以下查询将我的users表与另一个表联接Php 不替换原始id值的Mysql连接,php,mysql,sql,join,Php,Mysql,Sql,Join,我正在尝试使用以下查询将我的users表与另一个表联接 SELECT * FROM (`activities`) JOIN `users` ON `users`.`id` = `activities`.`user` WHERE `user_subdomain` = 'hi' OR user_subdomain = '' ORDER BY `activities`.`id` desc LIMIT 10 是否有任何方法进行加入,以便用户的id不会替换活动的id 例如,当前如果有一个id为10
SELECT * FROM (`activities`)
JOIN `users` ON `users`.`id` = `activities`.`user`
WHERE `user_subdomain` = 'hi' OR user_subdomain = ''
ORDER BY `activities`.`id` desc
LIMIT 10
是否有任何方法进行加入,以便用户的id不会替换活动的id
例如,当前如果有一个id为10且用户为2的活动,则该id将替换为用户表的id,并在运行查询后显示为2
非常感谢你的帮助 无论何时连接表,都应该明确说明所选的列,而不是使用select*,并在多个表中使用相同的列名时为它们指定列别名
SELECT
activities.id,
activities.othercol,
/* Alias to userid */
users.id AS userid,
users.name,
users.anothercolumn
FROM (`activities`)
JOIN `users` ON `users`.`id` = `activities`.`user`
WHERE `user_subdomain` = 'hi' OR user_subdomain = ''
ORDER BY `activities`.`id` desc
LIMIT 10
不过,除非列名相同,否则不一定要在每个表前面加上表名
SELECT
activities.id AS activityid,
othercol,
users.id AS userid,
name,
anothercolumn
无论何时连接表,都应该明确说明所选的列,而不是使用select*,并在多个表中使用相同的列名时为它们指定列别名
SELECT
activities.id,
activities.othercol,
/* Alias to userid */
users.id AS userid,
users.name,
users.anothercolumn
FROM (`activities`)
JOIN `users` ON `users`.`id` = `activities`.`user`
WHERE `user_subdomain` = 'hi' OR user_subdomain = ''
ORDER BY `activities`.`id` desc
LIMIT 10
不过,除非列名相同,否则不一定要在每个表前面加上表名
SELECT
activities.id AS activityid,
othercol,
users.id AS userid,
name,
anothercolumn
啊,太好了!非常感谢,我以为这会很简单!啊,太好了!非常感谢,我以为这会很简单!