0

これらのフィールドを持つMySQLテーブルがあります

 ID, CID, QUESTION, ANSWER, USER

IDは自動インクリメントで、テーブル内のすべてのレコードにはIDがあります。
CIDはANSWERレコードのIDへのポイントです

たとえば、回答の質問 2 の 2 の 4 つのレコードがあり、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

マイクの答えである質問をリストしたいと思います。同じテーブル内のIDフィールドとCIDフィールドを一致させ、出力用に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 フィドルのデモ

これにより、Mike が回答した質問のリストが表示されるため、Mike がリストされていないことに注意してください。

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 に答える