2017-05-09 14 views
-1

私はテーブルに2つの日付の列、1つの質問の日付と答えの別のものがあります。たとえば、新しい質問が出されるたびに、その日付はq_date列に格納され、その質問に回答する質問があるときはいつでもa_date列に格納されます。 今私は1週間以内にすべての質問をし、1週間以内に回答するすべての質問をします。 は、誰もがあなたが次のクエリを試すことができます参加したり、サブクエリサブクエリは、2つの日付coloumnに基づいて、1週間の範囲のデータを持っています

+1

これまでに何か試しましたか?いくつかのSQLクエリを試して、動作しませんでした! – Vandita

+0

少し努力してみてください。 –

+0

はい、ここで私が使ったクエリです。 "SELECT DISTINCT(ans_id)、q_ans.a_date FROMテーブルq_ans where q_ans.a_date BETWEEN date_sub(NOW()、INTERVAL 1 WEEK)およびq_ans.type = 'A' AND q_ans.live_question = 1 AND q_ans.ans_id IN(SELECT q_ques .q_id FROM qa_posts q_ques WHERE q_ques.type = 'Q')q_ans.a_date DESCによる注文。私がこの "q_ans.a_date BETWEEN BETWEEN BETWEEN BETWEEN(NOW()、INTERVAL 1 WEEK)"フォームのクエリを削除すると、私は完璧な結果を得ています。 –

答えて

0

使用して私にクエリを説明することができます:

SELECT * 
FROM yourTable 
WHERE 
    q_date >= DATE(NOW()) - INTERVAL 7 DAY OR 
    a_date >= DATE(NOW()) - INTERVAL 7 DAY 

は、これが最後の7日間で起こっ質問も回答に対応するすべてのレコードを返します。

+0

ありがとうございます。それは私のために働いた。 –

0

あなたはこのようなクエリを使用することができます。

Select * from q_ans where DATEDIFF(WEEK,q_ans.q_date,q_ans.a_date) = 1 

これは、日付はあなたがBETWEEN句のための追加AND条件する必要があります質問日時

+0

DATEDIFF()は3つのパラメータを受け入れません。そのパラメータには2つの日付しかかかりません。 –

0

の1週間の範囲である答えるいるすべてのレコードを与えます。試すことができます

WHERE q_ans.a_date BETWEEN date_sub(NOW(), INTERVAL 1 WEEK) AND NOW() 
関連する問題