0

次のデータ付きのテーブルがあります。

お客様:

cus_id             cus_name
1                  philip
2                  david
3                  morris

注文:

 order_id   order_no    cus_id  ordr_status      order_ date_time
    1             123        1       d                      20121015 13:10:01
    2             456        1       c                      20121014 14:20:00
    3             789        2       d                      20121013 17:10:01
    4             767        2       c                      20121014 15:10:00

このデータに基づいて、注文日時が 20121014 14:00:00 から 20121015 14:00:00 の間で、注文ステータスが (d,c) で同じである場合、顧客と注文の両方の情報を取得したいと考えています。オーダーID。

4

3 に答える 3

1

さて、注文については、

SELECT * 
FROM order
WHERE NOT order_date_time between '2012-10-14 14:00:00' and '2012-10-15 14:00:00'

顧客への参加は、読者の練習問題として残されています。

于 2012-10-15T19:30:44.877 に答える
1

あなたがこれを望んでいることを理解したら:

QUERY SQLFiddle の例:

SELECT
c.cus_name
,o.order_no
,o.ordr_status
,o.[order_ date_time]
FROM
customer c
  RIGHT JOIN order1 o
  ON c.cus_id = o.cus_id
WHERE o.[order_ date_time] >='20121014 14:00:00'
  AND o.[order_ date_time] <='20121015 14:00:00'
  AND (o.ordr_status = 'd' OR o.ordr_status = 'c')

結果:

| CUS_NAME | ORDER_NO | ORDR_STATUS |  ORDER_ DATE_TIME |
---------------------------------------------------------
|   philip |      123 |           d | 20121015 13:10:01 |
|   philip |      456 |           c | 20121014 14:20:00 |
|    david |      767 |           c | 20121014 15:10:00 |
于 2012-10-15T21:05:27.340 に答える