1

好吧,我需要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'));
4

3 回答 3

1

它告诉您在 中没有调用user_idroom_poll_results。将该列名称(在子选择中)更改为表中适当的字段。(您需要发布完整的架构以获得更具体的回复。)

于 2013-06-09T13:13:39.570 回答
0

我假设user_badgestable 有一个 column 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;
于 2013-06-09T13:17:28.167 回答
0

每当您收到错误时,"[Err] 1054 - Unknown column 'user_id' in 'IN/ALL/ANY subquery'"只要阅读它就意味着您的查询中不存在COLUMN具有给定名称的a 。parenthesis

要对此进行调试,由于您有子查询,请独立运行每个查询,然后查看它们的结果。这将帮助您了解哪个表缺少列。一旦你得到它,你就可以创建列,然后合并你的子查询,就是这样!

于 2013-06-09T13:18:20.747 回答