2016-11-14 6 views
0

WHERE句に複数のANDを使用したいが、クエリを実行できません。 MySQLで日付がDATETIME型であり、私は日付だけフォームの送信中にPOST変数として渡された複数の属性を使用してテーブルをフィルタリングする作業を行っています

  • Select * from startstopdata WHERE name='".$name."

  • Select * from startstopdata WHERE start_mac!=stop_mac
  • Select * from startstopdata WHERE start_location!=stop_location
  • に検索を適用したい

    1. Select * from startstopdata WHERE date(start_work) BETWEEN '".$date1."' and '".$date2."' :としてフィルタリングがあります

      ANDを使用してこれらのクエリをすべて組み合わせたいのですが、何らかの理由で目的の結果を取得できません。

      ありがとうございます! :)私は右の理解

    答えて

    0

    場合、あなたはこの

    Select * from startstopdata WHERE (date(start_work) BETWEEN '".$date1."' and '".$date2."') and name='".$name."' and start_mac!=stop_mac and start_location!=stop_location 
    

    EDITのようなクエリを行う必要があります。はい

    Select * from startstopdata WHERE (date(start_work) BETWEEN '".$date1."' and '".$date2."') and name='".$name."' 
    
    +0

    、それはdoesnの:

    はこれを試しますこのようなクエリを作成すると実行されません。 –

    +1

    POSTでデータに問題があると思うので、これを単独で実行すると最初のクエリが機能しますか? – MacBooc

    +0

    はい、クエリを個別に実行すると正常に動作します。しかし、それは単一のクエリになると、。 –

    0
    Select * from ".$database.".`startstopdata` where Emp_name='".$name."' AND (date(start_work) BETWEEN '".$fromDate."' AND '".$toDate."') AND (Location!= Stop_location AND MacAddress != Stop_mac); 
    
    関連する問題