2017-03-21 20 views
0

私は、Client_IDとその他のClientの詳細を持つ1つのマスターテーブルを持っています。 2番目のテーブルは、Client_IDのマスタテーブルにリンクされた日次レコードタブであり、現在の日付を記録するための追加の列を持ちます。したがって、第2のテーブルのClient_IDは、各日付に基づく反復レコードを有する。MySQLステートメントを復元できません

現在の日付のレコードが存在しないマスタテーブルからClient_IDを含むレコードを選択しようとしています。次のように

マイ試みたSQL文は次のとおりです。 -

SELECT `Client_ID`, `Client_RFID_Number` 
FROM ciom_master AS a 
WHERE (`Client_Active` ='Y' OR `Client_Active` ='y') 
AND CURDATE() NOT EXISTS (
          SELECT (`Client_Check_Out`) 
          FROM `cio_master` AS b 
          WHERE a.Client_ID = b.Client_ID) 
AND CURDATE() NOT EXISTS (
          SELECT (`Client_Check_In`) 
          FROM `cio_master` AS c 
          WHERE a.Client_ID = c.Client_ID) 

私はこの文のエラーを解決することができません。助けてください。

答えて

0

あなたがNOT EXISTSクエリ内CURDATE()を移動する必要があります。

SELECT `Client_ID`, `Client_RFID_Number` 
FROM ciom_master AS a 
WHERE (`Client_Active` ='Y' OR `Client_Active` ='y') 
    AND NOT EXISTS (
        SELECT (`Client_Check_Out`) 
        FROM `cio_master` AS b 
        WHERE a.Client_ID = b.Client_ID 
         and Client_Check_Out = CURDATE()) 
AND NOT EXISTS (
       SELECT (`Client_Check_In`) 
       FROM `cio_master` AS c 
       WHERE a.Client_ID = c.Client_ID 
        and Client_Check_In = CURDATE()) 
+0

ああおかげで...それは簡単だったし、実際に動作します。ありがとうございます – Raky

+1

@Rockyよろしくお願いします。答えをupvote /マークするのを忘れないでください。 –

+0

わかりません新しいスレッドを作成する必要がある場合はどうか教えてくださいこのSQLを2回以上繰り返すとThridテーブルのレコードを複製せずにこのSQLの結果を3番目のテーブルに挿入する方法。 – Raky

関連する問題