簡體   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