好吧,我需要在user_badges
为每个正确回复投票的人添加一行。
"select user_id from room_poll_results........"
单独工作正常,但只要我尝试在我的INSERT INTO
语句中使用它,它就会回复错误:
"[Err] 1054 - Unknown column 'user_id' in 'IN/ALL/ANY subquery'"
我不知道它来自哪里......
INSERT INTO user_badges (user_id,PPO) SELECT user_id IN
(SELECT user_id FROM room_poll_results
WHERE user_id in (select user_id from room_poll_results
where answer_text='3' AND question_id='3') AND user_id in
(select user_id from room_poll_results where answer_text='2' AND question_id='4'));
答案 0 :(得分:1)
它告诉你user_id
中没有名为room_poll_results
的列。将该列名称(在子选择中)更改为表中相应字段的任何内容。 (您希望发布完整的架构以获得更具体的响应。)
答案 1 :(得分:0)
我认为user_badges
表有一列user_id
。您的第一个IN
应由FROM
替换。所以,我稍微修改了你的查询,如下所示:
INSERT INTO user_badges (user_id, PPO)
SELECT user_id FROM
(
SELECT user_id FROM room_poll_results
WHERE user_id in
(
select user_id from room_poll_results
where answer_text='3' AND question_id='3'
) AS U
AND user_id in
(
select user_id from room_poll_results
where answer_text='2' AND question_id='4'
) AS U
) AS U;
答案 2 :(得分:0)
每当您收到"[Err] 1054 - Unknown column 'user_id' in 'IN/ALL/ANY subquery'"
错误时,只需将其读取即表示查询中不存在COLUMN
中名称为parenthesis
的{{1}}。
要对此进行调试,因为您有子查询,请单独运行每个查询,然后查看其结果。这将帮助您了解哪个表缺少列。一旦你得到它,你就可以创建专栏,然后联合你的子查询,那就是它!