2017-02-10 14 views
-2

私はデータベースとしてmysqlを使用して休暇追跡に取り組んでいます。指定された範囲の間のすべての日付

私は現在から2つの列を持っています。私は誰もが既に適用された日付に休暇を適用することを望んでいません。そのためのクエリを書く方法。

enter image description here

これは私が書かれているクエリですが、それは必要な出力を生成しません。クエリを記述するために助けてください

SELECT * 
FROM `taken_leave_tracker` 
WHERE emp_id = '135835' 
    and (taken_to_date <= '2017-02-02') 
    and (taken_from_date >= '2017-02-01') 

を。

+0

上の範囲を比較する必要があります。 – jarlh

+0

実際には、2種類の葉が適用されています。間違って私は適用休暇テーブルのスクリーンショットを撮った。私が求めている質問はどちらの表でも答えられるはずです。 –

答えて

0

は、あなたがカウント値に基づいて、次のクエリ

SELECT count(*) 
FROM `taken_leave_tracker` 
WHERE emp_id = '135835' AND date >= applied_from_date AND date <= applied_to_date; 

を実行する必要があり、あなたはロジックを記述することができますのは、あなたの変数がdateと呼ばれているとしましょう。

0

あなたはむしろあなたのテーブルに列がapplied_from_dateとapplied_to_date持っていますが、クエリが列taken_to_dateとtaken_from_dateを含む画像によると、単一の列

WHERE emp_id = '135835' 
    and (taken_from_date >= '2017-02-01' and taken_from_date <= '2017-02-02') 
関連する問題