内连接问题mysql

时间:2014-08-30 08:26:36

标签: mysql sql sql-server

我的以下查询显示了一个非常奇怪的错误:

陈述是对的

SELECT
users.age,
users.firstname,
users.lastname,
users.`gender`,
users.username,
users.`password`,
users.id_user_type,
gender.id
FROM 
user_types
INNER JOIN users ON `gender`.id = users.gender

性别也是另一个具有ID的表,性别为两列

我遇到错误

[SQL]SELECT
users.age,
users.firstname,
users.lastname,
users.`gender`,
users.username,
users.`password`,
users.id_user_type, 
gender.id
FROM 
user_types
INNER JOIN users ON `gender`.id = users.gender

[Err] 1054 - Unknown column 'gender.id' in 'on clause'

2 个答案:

答案 0 :(得分:0)

您的查询中没有使用gender表,usersuser_types。将表user_types更改为性别或使用正确的表别名

SELECT
  users.age,
  users.firstname,
  users.lastname,
  users.gender,
  users.username,
  users.password,
  users.id_user_type,
  gender.id
FROM gender --use gender here
INNER JOIN users 
ON gender.id = users.gender

由于旁注genderpassword不是保留关键字,因此不需要使用反引号进行转义。我建议避免在不需要的情况下使用反引号。

答案 1 :(得分:0)

您是不是从表中选择性别或加入它?在表格之前或表格中,您需要将表格作为连接。另外,它如何知道从性别中获取数据的位置?

利安