0

我有一个MySQL表有这些字段

 ID, CID, QUESTION, ANSWER, USER

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

比如我们有 4 条记录,2 个问题 2 的 answer,Mike 回答了 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字段并打印QUESTION以进行输出

4

2 回答 2

4

我想列出迈克回答的问题。

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 小提琴演示

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

ID CID     QUESTION         ANSWER  USER
1   0        Test             NULL   John
3   0       Example           NULL   Tracy
于 2012-10-09T11:30:24.033 回答
0
select QUESTION from yourtable 
where ID in(select ID from yourtable where User = 'Mike' and answer is NOT NULL)
于 2012-10-09T11:36:56.677 回答