gpt4 book ai didi

php - Mysql加入而不替换原始id的值

转载 作者:行者123 更新时间:2023-11-29 04:26:06 24 4
gpt4 key购买 nike

我正在尝试使用以下查询将我的用户表与另一个表连接...

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的activity和user 2,则id将被替换为users表的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

关于php - Mysql加入而不替换原始id的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11140232/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com