-2

私は2つのテーブルを持っています。client (client_id, client_name, client_lname)Order_Dateおよびorders(Order_Id,Client_Id,Total_Amount,Order_Date,Order_Time,Order_Status) Orde​​r_Timeのタイプはvarcharです。 2つの日付と時刻の間のレコードを表示する必要があります。私はこのクエリを書きました:

SELECT 
  o.Order_Id, 
  c.client_name, 
  c.client_lname, 
  o.Total_Amount, 
  o.Order_Date, 
  o.Order_Time 
FROM orders AS o 
JOIN client AS c 
  ON o.Client_id = c.Client_id 
WHERE  (o.Order_Date between '01/01/2013' and '22/01/2013' ) 
AND (o.Order_Time between '17:41:59' and '20:42:04') 
AND o.Order_Status='1' 
ORDER BY o.Order_Id 

例:

 Order_id   Client_id   Total_Amount             Order_Date        Order_Time Order_Status
    120        32        60                        01/01/2013        12:44:15    1
121        32        60                        01/01/2013        12:47:51    1
122        32        90                        01/01/2013        18:16:41    1
127        32        60                        01/01/2013        18:34:31    1
128        32        90                        01/01/2013        18:35:19    1
129        32       120                        19/01/2013        8:12:04     1
130        32        90                        19/01/2013        15:33:16    0
131        33        90                        19/01/2013        15:40:03    1

2013年1月1日12:40:00から2013年1月19日09:00:00までのレコードを表示したいので、6つのレコードを表示する必要があります。どのクエリを書き込むか

4

3 に答える 3

1

WHERE句で日付と時刻の列を組み合わせる必要があります。

WHERE DATE_ADD(o.Order_Date, INTERVAL o.Order_Time HOUR_SECOND) 
  BETWEEN '2010-01-01 16:30:00' AND '2010-01-02 17:00:00'
于 2013-01-22T13:23:06.333 に答える
0

日付には次の形式を使用してみて YYYY-MM-DD HH:MM:SSください'01/01/2013''2013-01-01 00:00:00'

詳細については、を参照してください

于 2013-01-22T13:19:32.843 に答える
0

まず、タイプをに変更しました

Order_DatetodateおよびOrde​​r_Timetotime。

それから私はこのクエリを書きました

select o.Order_Id,c.client_name,c.client_lname,o.Total_Amount,o.Order_Date,o.Order_Time from orders as o join client as c on o.Client_id=c.Client_id where  DATE_ADD(o.Order_Date, INTERVAL o.Order_Time HOUR_SECOND) BETWEEN '2012-12-03 11:06:54' AND '2013-01-19 01:07:10'  and o.Order_Status='1' order by o.Order_Id 

機能した。そういうことで、期待していたのです。私の問題を解決するのを手伝ってくれてありがとう。

于 2013-01-23T08:32:52.503 に答える