このクエリでは、列s.work_id = 14681の最新の行を見つけ、1行だけが表示されます。最新の行が2週以上経過している場合にデータを返します
私の質問は、最新の行が2週間以上経過していることを確認するにはどうすればいいですか? work_status表の各行には、datetime形式のdate_addedがあります。最新の行が2週間以上経過している場合は、それが表示されます。
私の現在のクエリ:
SELECT s.*
FROM work_status s
LEFT JOIN work w ON (s.work_id = w.id)
WHERE s.work_id = 14681
AND w.investigation = '1'
AND w.deleted = '0'
AND w.investigation_winner = '0'
AND w.investigation_validated = '1'
AND w.work_denied = '0'
ORDER BY s.date_added DESC
LIMIT 1
例データ: Attached
今のクエリは、最初の行を表示しますが、言ったように、最新の行が2を超えていないので、それが何を返すべきではありません週齢。 Query returns first row
LEFT JOINまたはINNER JOINをしますか? – jarlh
WHERE句に正しい表の条件があるので、すでにINNER JOIN結果が得られています。サンプル表のデータと予想される結果を追加します。 (フォーマットされたテキストでもあります) – jarlh
問題は再現可能であるように、ここで働くFiddleを追加する必要があります(現在はありません)。 –