我有此查询,该查询使用联接从主数据库和用户数据库的主表中提取数据。
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-“子句”中的未知列“ gs_master.user_details.securitytemplate”
任何帮助,我们将不胜感激。
答案 0 :(得分:0)
这可能是您尝试获得的:
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