所以我有一些问题包围着我应该用于我需要实现的功能的查询。
TABLE_A
ORDERS_ID CUSTOMER_ID CUSTOMER_NAME
11121 78125 David Garcia
11122 78126 Joe Smith
11123 78139 Vincent Lee
11124 78144 Howard Dorf
TABLE_B
ORDERS_ID PRODUCTS_ID BACKORDER_DATE
11121 245-A NULL
11121 781-B NULL
11121 777-K NULL
11122 854-J 2014-06-29
11122 245-A 2014-07-05
11122 986-O 2014-07-01
11123 555-P 2014-06-28
11123 777-K 2014-06-28
11124 854-J 2014-07-11
11124 731-T 2014-06-30
SELECT o.BACKORDER_DATE
FROM TABLE_B o
JOIN TABLE_A q ON q.ORDERS_ID = o.ORDERS_ID
WHERE q.CUSTOMERS_ID = $customer_id_var
现在一切都被正确拉出,我只遇到了一个问题。如果订单有多个延期订单日期且它们不相同,那么它将拉出第一个并停止。现在我对此没有任何问题,但如果第一个延期订单日期比未来的更晚,我会遇到问题。
以Table_B中的最后两行为例。查询将获取的日期是2014-07-11。这是一个很大的问题,因为2014-06-30将会随之而来。该系统将相信2014-07-11是最早的订单日期。
答案 0 :(得分:0)
你的意思是你想要通过延期交货日期订购?
"SELECT o.BACKORDER_DATE
FROM TABLE_B o
JOIN TABLE_A q ON q.ORDERS_ID = o.ORDERS_ID
WHERE q.CUSTOMERS_ID = $customer_id_var
ORDER BY o.BACKORDER_DATE ASC"