以下は、現在の(すべての)月と(現在の)年がデータベースの日付列に存在するかどうかを検出しているmysqlクエリです。クエリは正常に機能していますが、テーブルのすべての行に対して個別に実行され、その行に特定の一致があるテーブルに存在するすべての行数を返します。私がしたいことは、次のクエリが単一の行を返す必要があり、指定された日付がテーブルに存在するかどうか (日付列のどこかに) を伝えることです。これを行うには、次のクエリを変更する方法を教えてください。ありがとう
SELECT
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'01'),1,0) as jan,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'02'),1,0) as feb,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'03'),1,0) as mar,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'04'),1,0) as apr,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'05'),1,0) as may,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'06'),1,0) as jun,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'07'),1,0) as jul,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'08'),1,0) as aug,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'09'),1,0) as sep,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'10'),1,0) as oct,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'11'),1,0) as nov,
IF(DATE_FORMAT(FROM_UNIXTIME(dt_note_created),'%Y%m') = CONCAT((DATE_FORMAT(NOW(),'%Y')),'12'),1,0) as decb
FROM Notes
出力:
ヤン | 2月 | 3 月 ....など... | 11月 | 12月 0 1 1 0 1 0 と 1 は、月と年が日付の列全体に存在するかどうかを示すフラグです