3

以下のように、質問を保存するテーブル 1 と、質問への返信を保存するテーブル 1 が 2 つあります。

以下のように、表の構造と列を表に示しました

質問表

Question_Id(PK) | 質問 | 名前 | 電子メールアドレス

回答表

Answer_Id | Question_Id | 質問 | 名前 | 電子メールアドレス               

投稿された質問は質問テーブルに追加され、人々が投稿した返信は回答テーブルに追加されます

誰かが質問への返信を投稿するときはいつでも、質問を投稿した人と質問への返信を投稿した人にメールを送信する必要があります

上記のmysqlクエリを提案してください

ありがとうございました

4

3 に答える 3

1

理論的には、誰かが返信している質問の ID (qid) をアプリケーションで知る必要があります。この ID に基づいて、次のクエリを発行できます。

Select EmailAddress from Question where Question_Id=qid
Union
Select EmailAddress from answer where Question_id=qid

アプリケーションのロジックによっては、現在のユーザーのアドレスも選択される場合があります。これを回避したい場合は、現在の応答者を除外する条件を両方の select ステートメントに含める必要があります。何かのようなもの:

Select EmailAddress from Question where Question_Id=qid and EmailAddress!=curentUserAddress
Union
Select EmailAddress from answer where Question_id=qid and EmailAddress!=curentUserAddress
于 2012-07-13T12:37:01.400 に答える
0
Select * 
from questions 
left join answers 
on questions.id = answers.question_id 
where question_id = 1
于 2012-07-13T13:21:37.893 に答える
0
select * from Question q, Answer a 
where q.Question_Id = a.Question_id and
      q.Question_Id = question_id
于 2012-07-13T14:15:00.153 に答える