私は、reservation_schedule カレンダーと maintenance_schedule カレンダーの 2 つの別々のカレンダーを持っています。Reservation_schedule は予約テーブルからデータをフェッチし、maintenance_schedule はメンテナンス テーブルからデータをフェッチします。私の目標は、2 つのカレンダーから取得した両方のデータを 1 つのカレンダーに入れることです。
これが、reservation_schedule に使用したクエリです。
SELECT acode
FROM reservation
WHERE month(etd) = '".$month."'
AND dayofmonth(etd) = '".$dayArray["mday"]."'
AND year(etd) = '".$year."'
ORDER BY etd
そして、maintenance_schedule の場合:
SELECT DISTINCT s.reg AS 'reg',
a.date AS 'date'
FROM (SELECT Curdate()
+ INTERVAL (a.a + (10 * b.a) + (100 * c.a)) day AS Date
FROM (SELECT 0 AS a
UNION ALL SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 6
UNION ALL SELECT 7
UNION ALL SELECT 8
UNION ALL SELECT 9) AS a
CROSS JOIN (SELECT 0 AS a
UNION ALL SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 6
UNION ALL SELECT 7
UNION ALL SELECT 8
UNION ALL SELECT 9) AS b
CROSS JOIN (SELECT 0 AS a
UNION ALL SELECT 1
UNION ALL SELECT 2
UNION ALL SELECT 3
UNION ALL SELECT 4
UNION ALL SELECT 5
UNION ALL SELECT 6
UNION ALL SELECT 7
UNION ALL SELECT 8
UNION ALL SELECT 9) AS c) a
INNER JOIN maintenance_sched s
ON a.date >= s.date_from
AND a.date <= s.date_to
WHERE Month(date) = '".$month."'
AND Dayofmonth(date) = '".$dayArray["mday"]."'
AND Year(date) = '".$year."'
を使用して両方のデータを表示できますUNION
が、メンテナンス テーブルのデータを取り消し線付きの文字列として出力する必要があります。このコードでクエリ結果を出力しています。
$chkEvent_res = mysql_query($chkEvent_sql) or die(mysql_error());
if (mysql_num_rows($chkEvent_res) > 0) {
$event_title = "<br/>";
while ($ev = mysql_fetch_array($chkEvent_res)) {
$event_title .= stripslashes($ev["reg"])."<br/>";
//$event_title .= "<del>".stripslashes($ev["acode"])."</del><br/>";
}
mysql_free_result($chkEvent_res);
} else {
$event_title = "";
}
でクエリを使用すると、UNION
クエリを 1 回実行するため、メンテナンスからの出力文字列に取り消し線を設定できません。取得したデータを保守テーブルから取り消し線付きで出力するにはどうすればよいですか? で1つのクエリを実行する必要がありますUNION
か? その場合、メンテナンス テーブルと予約テーブルからのデータをどのように分離できますか? クエリを分離した場合、どのように実行できますか? それはのようなものであるべき$chkEvent_res = mysql_query($chkEvent_sql1) and mysql_query($chkEvent_sql2) or die(mysql_error());
ですか?助けてください、ありがとう。