2016-05-12 8 views
0

私はテーブル名を持っています:allocate_rooms は、id、room_id、startTime、endTimeを持っています。MySql - クエリネストされた条件の記述方法

今私は、結果は、ユーザが部屋IDとのstartTimeとendTimeのような入力を与えることを意味ゼロ を返すべきであるクエリを見つける必要があり、それがそのroom_id内の任意のstartTimeとendTimeの

例:があるかどうかを確認する必要があります:誰かがsundayとstartTimeのような部屋名を12:00:00、endTimeを12:30:00と指定すると、日曜日にstartTimeとendTimeがあるかどうかを確認します。 月曜日に部屋名を指定すると、入力を保存できます。

SELECT id FROM allocate_rooms 
     where startTime='12:00:00' and endTime=' 12:30:00' AND day_id = 'sunday' 

私はクエリを書いていますが、正しく動作していません。正確なクエリを作成するにはどうすればよいですか?

+0

'startTime'と' endTime'フィールドのデータ型は何ですか? 'DATE'または' DATETIME'?また、あなたが指定した 'start'と' endTime'ではなく 'start'と' end'を参照しています。 – sbeliv01

+0

あなたの質問には何が問題なのですか?期待される出力は何ですか? –

+0

@KP。上記のクエリは、その日day_idにstartTimeまたはendTimeがあるかどうか、またはday_idと一致する場合は1ですが、startTimeとendTimeはそのデータベースでそのday_idに含まれていないかどうかを判断するためにゼロを返します。 – User57

答えて

0

私はあなたが出力として0または1を必要と理解するものから、以下のクエリを試してみてください

SELECT ifnull (id, 0, 1) 
FROM allocate_rooms 
WHERE startTime='12:00:00' or endTime=' 12:30:00' 
    AND day_id = 'sunday' 
+0

ですが、day_idは、startTimeとendTimeのデータベースと一致しない場合に別の時間を保存できることを意味します。 – User57

+0

あなたの入力データと予想される出力を投稿してください –

+0

参照day_idと一致するはずのstartTimeとendTimeを確認する必要があります。それ以外の場合は失敗しました。 day_idが一致してもstartTimeとendTimeが一致しない場合は、falseと判定されます。 – User57

関連する問題