2016-10-04 11 views
0

In mysql 2つのカラムの間で1つのdatetime値をチェックする必要がありますか?私はこれ以下のクエリを試してみますが、私の下のクエリは特定の期間(12:00:00)シリーズのみで動作していません。つまり、from_dateとto_dateカラムは12:00:00、12:15:00、12: 30:00〜12:45:00シリーズ時間は動作しません。私はこれで何ができますか?私たちは、このようなMIN、MAX、合計、などいくつかの集約を行いたいときMysqlクエリで1つのDatetime値を2つのカラムの間で比較する

SELECT t2.* , u.userName as userName FROM manageuser as u left join tbl_bookingpayment as t2 on u.userId=t2.user_id WHERE from_time <= '2016-10-05 12:00:00 pm' AND to_time >= '2016-10-05 12:00:00 pm' group by t2.id 


Advice me.  
+1

*なぜ*あなたのプログラムが動作していないと言うのが最善です。より具体的にあなたの質問を編集してください。また、あなたは 'GROUP BY'を悪用しています。どのように動作しているかを調べ、それがあなたの問題を解決するかどうかを調べることができます。 –

+0

Ollie Jonesさんのように、どのように動作しているのか、そうでないのかを知ることは大いに役立ちます。なぜなら、あなたの各列は**グループから**任意の値**を得るでしょう。あなたが実際に列を取得したいので、代わりに何をすべきかわからない) – jussius

答えて

0
  • は、我々は通常、結果内の各グループのために... GROUP BYを使用します。
  • t2.idの値は一意ではないと思います。その場合は、クエリで集計を行わずにGROUP BYを使用すると、各t2.id(グループ)に対して1つの行だけを取得したいことを意味します。そして、各グループの行は、いくつかの行に同じt2.id値がある場合、MySQLが到達する最初の行です。
  • "group by t2.id"を削除すると、すべてのデータが表示されます。

私の答えがあなたに役立つことを願っています。

+0

t2.idでグループを削除しました。そのテーブルでは、格納されているdatetime値を説明しなければなりません。 from_time to_time 2016-10-05 12:00:00 pm 2016-10-05 04:10:00 pm 私はこれを見つけたい(2016-10-05 12:30:00 pmまたは2016-10-05) 12:45:00午後など)2列のB/W時間 –

+0

from_timeおよびto_time列のデータ型はどれですか?あなたはテーブル構造を共有していただけますか? –

+0

両方の列にVARCHARデータ型を使用する必要があります。\t from_time \t varchar(300)\tおよびto_time \t varchar(300)。 –

関連する問題