繁体   English   中英

比较两个不同表中的两列?

[英]Comparing two columns in two different tables?

首先道歉,如果问题的语法和框架不符合标准。

我有一个MySql数据库。我有一个表答案,其中包含idquestion,userAnswer,userEmailAddress作为列。

另一个表multi_choice_pool,其中包含idQuestion,answer_all。

每个answer.userEmailAddress都有idQuestion和userAnswer的多个条目。

我想在答案表中获取userEmailAddress,其中该userEmailAddress的ID和答案等于multi_choice_pool的iq和答案。

我这样写:

Select answer.userEmailAddress from answer 
where (answer.idQuestion=multi_choice_pool.idQuestion) AND  
(answer.userAnswer=multi_choice_pool.answer_all);

这给我一个错误:“ where子句中的未知列'multi_choice_pool'。

语法错误吗? 还是查询本身是错误的? 还是我的方法不对? 您可以纠正并提供建议吗?

Select answer.userEmailAddress 
from answer left join multi_choice_pool
on answer.idQuestion = multi_choice_pool.idQuestion 
and answer.userAnswer = multi_choice_pool.answer_all;

似乎您不需要WHERE子句。

但是您需要JOIN一个:

SELECT answ.userEmailAddress 
FROM answer answ
LEFT OUTER JOIN multi_choice_pool mcp 
    ON answ.idQuestion = mcp.idQuestion
    AND answ.userAnswer = mcp.answer_all

这是JOINMySQL文档

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM