[英]MySQL Unknown column in 'on clause' :(
我的查询看起来像
SELECT а.*, m.username, m.picture, m.picture_active
FROM questions_answer AS а
INNER JOIN members AS m ON а.poster_id=m.member_id
INNER JOIN questions AS q ON q.question_id=a.question_id
ORDER BY a.postdate DESC
我收到错误消息:
Unknown column 'a.question_id' in 'on clause'
我不知道怎么了,请帮我解决这个问题。
表questions
是
CREATE TABLE IF NOT EXISTS `questions` (
`question_id` int(9) unsigned NOT NULL AUTO_INCREMENT,
`member_id` int(9) unsigned NOT NULL DEFAULT '0',
`question` text NOT NULL,
`postdate` int(10) unsigned NOT NULL DEFAULT '0',
`active` tinyint(1) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`question_id`),
KEY `member_id` (`member_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
和questions_answer
是
CREATE TABLE IF NOT EXISTS `questions_answer` (
`answer_id` bigint(12) unsigned NOT NULL AUTO_INCREMENT,
`question_id` int(9) unsigned NOT NULL,
`poster_id` int(9) unsigned NOT NULL,
`body` text NOT NULL,
`postdate` int(9) unsigned NOT NULL,
PRIMARY KEY (`answer_id`),
KEY `question_id` (`question_id`),
KEY `poster_id` (`poster_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
您的表questions_answer
可能没有列question_id
似乎您没有a.question_id列
检查该表的结构。
没有任何叫列question_id
在questions_answer
表。
有趣的是,如果我使用此代码,它将起作用:
SELECT qa.*
FROM questions_answer qa
INNER JOIN questions q ON qa.question_id = q.question_id
ORDER BY qa.postdate DESC
因此,要将其应用于您的查询:
SELECT qa.*, m.username, m.picture, m.picture_active
FROM questions_answer qa
INNER JOIN questions q ON qa.question_id = q.question_id
INNER JOIN members m ON qa.poster_id = m.member_id
ORDER BY qa.postdate DESC
您的questions_answer
表别名a
存在一些问题。 这很可能不是字母a
。
FROM questions_answer AS а
我在玩弄它,发现一个错误,提示“ Unknown table 'аa':
如您所见,它可能是一个特殊字符。 网上的简短搜索结果是字母Eth
我用字符a
替换了alias
,查询工作正常。
SELECT a.*, m.username, m.picture, m.picture_active
FROM questions_answer AS a
INNER JOIN members AS m ON a.poster_id=m.member_id
INNER JOIN questions AS q ON q.question_id=a.question_id
ORDER BY a.postdate DESC
在此处查看示例,只需将查询复制粘贴到此处并尝试运行,由于alias
字符问题,它将抱怨。 从你行,并更换所有你甚至可以复制别名a
与它S,它也能发挥作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.