これにより、特定の質問に「はい」または「いいえ」で答えます。日付検索値はすべてハードコードされたリストで特定されているため、これが役立つかどうかはわかりません。
select coalesce(max('no'), 'yes') as available
from tbl t
where room_type_id = 23 and
dt in ("2018-03-06 00:00:00", "2018-03-07 00:00:00",
"2018-03-08 00:00:00", "2018-03-09 00:00:00");
ロジックの意味が少なくとも1つのオープンを見つけることを目的としている場合 日付を入力すると、次のようなものを試すことができます:
select case when count(*) = 4 then 1 else 0 end as whatever_this_means
from tbl t
where room_type_id = 23 and
dt in ("2018-03-06 00:00:00", "2018-03-07 00:00:00",
"2018-03-08 00:00:00", "2018-03-09 00:00:00");
問題は、クエリの後半のリストにある日付の数に関連付けられている値4をハードコーディングしたことです。これをより動的に処理する方法はいくつかありますが、それを行うための最良の方法は質問から完全には明らかではありません。