2016-10-08 6 views
0

mysqlクエリを使用して各列のデータを取得し、結果列に格納できますか? 「2016年10月5日8時50分00秒」に2つの列を1つにまとめて必要なデータのみを集める

Table 
Truck Number, Depart time, Arrive time 
0001,'2016-10-05 07:15:00','2016-10-05 10:10:00' 
0002,'2016-10-05 08:15:00','2016-10-05 09:30:00' 
0003,'2016-10-04 19:15:00','2016-10-05 08:45:00' 

私だけのままトラックをしたいかから到着「2016年10月5日8時〇〇分00秒」

私は出力をしたいですになると

Truck, Time 
0002 '2016-10-05 08:15:00' 
0003 '2016-10-05 08:45:00' 

そして、可能であれば、時間も同様に来ています。

+0

あなたはbetween' 'とwhere句を試してみたのですか? – Drew

+0

トラック番号と時間だけを持つ必要があるので、選択ステージで時間を組み合わせることはありません。 出発時刻または到着時刻のみを両方ではなく欲しいと思っています。 時間を3つの列にまとめるのは簡単で、間にも使えます。 –

+0

だから何をしようとした? – Strawberry

答えて

0

でしょうあなたのためのUNIONの仕事は?次のように:

select truck, departtime as time , 'Depart' as direction 
where departtime between '2016-10-05 08:00:00' and '2016-10-05 08:50:00' 

UNION 

select truck, arrivetime as time , 'Arrive' as direction 
where arrivetime between '2016-10-05 08:00:00' and '2016-10-05 08:50:00' 

ORDER BY TRUCK, TIME 
0
SELECT T.TRUCKNUMBER, 
      CASE WHEN DEPART BETWEEN '2016-10-05 08:00:00' AND '2016-10-05 08:50:00' THEN DEPART 
      ELSE ARRIVE 
      END AS TIME , 
      CASE WHEN DEPART BETWEEN '2016-10-05 08:00:00' AND '2016-10-05 08:50:00' THEN 'DEPART' 
      ELSE 'ARRIVE' 
      END AS SourceColumn 

FROM T WHERE DEPART BETWEEN '2016-10-05 08:00:00' AND '2016-10-05 08:50:00' OR 
        ARRIVE BETWEEN '2016-10-05 08:00:00' AND '2016-10-05 08:50:00' 

結果

+-------------+---------------------+--------------+ 
| TRUCKNUMBER | TIME    | SourceColumn | 
+-------------+---------------------+--------------+ 
|   2 | 2016-10-05 08:15:00 | DEPART  | 
|   3 | 2016-10-05 08:45:00 | ARRIVE  | 
+-------------+---------------------+--------------+ 
関連する問題