【发布时间】:2016-10-29 17:17:37
【问题描述】:
谁能发现我的错误,这应该是 SQL 中的合法查询,不是吗??
ON 子句中的未知列 u.usr_auto_key
这是数据库架构:
User: (usr_auto_key, name, etc...)
Setting: (set_auto_key, name etc..)
User_Setting: (usr_auto_key, set_auto_key, value)
这就是查询...
SELECT
`u`.`usr_auto_key` AS `u__usr_auto_key`,
`s`.`set_auto_key` AS `s__set_auto_key`,
`u2`.`usr_auto_key` AS `u2__usr_auto_key`,
`u2`.`set_auto_key` AS `u2__set_auto_key`,
`u2`.`value` AS `u2__value`
FROM `User` `u`, `Setting` `s`
LEFT JOIN `User_Setting` `u2` ON `u`.`usr_auto_key` = `u2`.`usr_auto_key`
WHERE (`s`.`sct_auto_key` = 1 AND `u`.`usr_auto_key` = 1 AND admin_property is null)
【问题讨论】:
-
您是否检查了表本身而不是查询中没有拼写错误?不止一次发生在我身上。查询是正确的,但是我在创建表时输入了错误的列名。
-
不,它是自动生成的。 Pablo Santo Cruz 的回答是正确的。但是我不明白:)。 (顺便说一句,Pablo 有一个错字,应该是用户,而不是用户)