查询不会在localhost上运行

8yparm6h  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(288)

我有一个查询,它使用连接从master db中的主表和user db中提取数据。

SELECT 
  `user_details`.`id` AS `masterid`, 
  `user_details`.`emailaddress`,
  `user_details`.`is_login` as `userstate`, 
  `user_details`.`fullname` as fullname, 
  `user_details`.`securitytemplate`, 
  `user_details`.`registered`, 
  `user_details`.`isactive`, 
  `users`.`id` AS `userid`,
  `users`.`profilepicture` AS `userpic`,
  security.templatename 
FROM 
  (SELECT * FROM `gs_master`.`user_details` 
  WHERE `gs_master`.`user_details`.`db_identifier`= 136) AS `user_details` 
  LEFT JOIN gs_db_136.`users` 
    ON `user_details`.`emailaddress` = `users`.`email` 
  JOIN gs_db_136.`security_templates` AS security 
    ON security.id = `gs_master`.`user_details`.securitytemplate 
ORDER BY 
  fullname ASC

奇怪的是,它在我的centos机器上运行,但不会在我的本地主机上运行。我已经更新了数据库,所有的表都存在。如果我直接查询localhost表,我会得到一个结果,所以我不确定它可能是什么?我猜这一定和不同机器上允许的语法有关吧?
我得到的错误是:

1054-“on子句”中的未知列“gs\u master.user\u details.securitytemplate”

非常感谢您的帮助。

qco9c6ql

qco9c6ql1#

这可能就是你想要得到的:

SELECT 
  `user_details`.`id` AS `masterid`, 
  `user_details`.`emailaddress`,
  `user_details`.`is_login` as `userstate`, 
  `user_details`.`fullname` as fullname, 
  `user_details`.`securitytemplate`, 
  `user_details`.`registered`, 
  `user_details`.`isactive`, 
  `users`.`id` AS `userid`,
  `users`.`profilepicture` AS `userpic`,
  security.templatename 
FROM 
  (SELECT * FROM `gs_master`.`user_details` 
  WHERE `gs_master`.`user_details`.`db_identifier`= 136) AS `user_details` 
  LEFT JOIN gs_db_136.`users` 
    ON `user_details`.`emailaddress` = `users`.`email` 
  JOIN gs_db_136.`security_templates` AS security 
    ON security.id = `user_details`.securitytemplate 
ORDER BY 
  fullname ASC

相关问题