繁体   English   中英

从表中选择结果以匹配mysql中的2行

[英]Select result from table for matching 2 rows in mysql

我有一个MySQL表有这些字段

 ID, CID, QUESTION, ANSWER, USER

ID为自动递增,表中的每条记录都有ID
CID指向ANSWER记录的ID

例如,我们有4条记录,答案2的问题2,麦克回答2的问题

ID  CID  QUESTION  ANSWER         USER
1    0   Test      NULL           John
2    1   NULL      This is Test   Mike    
3    0   Example   NULL           Tracy
4    3   NULL      Yes it is      Mike

我想列出的问题是迈克的答案。 如何匹配同一表中的IDCID字段并输出问题以进行输出

我想列出的问题是迈克的答案。

SELECT t1.*
FROM TableName t1
LEFT JOIN TableName t2 ON t1.ID = t2.CID
WHERE t2.Answer IS NOT NULL
  AND t2.User = 'Mike';

SQL小提琴演示

请注意,这为您提供了Mike回答的问题列表,因此您不会在其中找到mike:

ID CID     QUESTION         ANSWER  USER
1   0        Test             NULL   John
3   0       Example           NULL   Tracy
select QUESTION from yourtable 
where ID in(select ID from yourtable where User = 'Mike' and answer is NOT NULL)

暂无
暂无

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

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