订单跟踪剩余

时间:2012-07-03 05:28:07

标签: php mysql date

我有以下Mysql表

Order table 
status 0 - incomplete
status 1 - complete  

PO_invoice| Company| transactionType| Amt_Paid | Balance | Status| dateCreated|
 1001     | Astek  |               3|     10000|    10000|    0  |2012-10-15  |
 1002     | Asrack |               2|     20000|        0|    1  |2012-10-20  |  

交易表

它包含付款方式的说明

  • 如果输入类型1则应在同一天支付全部金额
  • 如果类型2那么在同一天和之后的50%
  • 30天其他50%的金额应该支付
  • 如果是类型3,那么在同一天和之后的60%
  • 60天其他60%的金额应该支付

    transactionType | noDays | PercentSplit  |
    
                   1|      0 |            0  |
                   2|     30 |            50 |
                   3|     60 |            60 |
    

我正在尝试跟踪到期付款的订单

目前我正在加入交易类型和状态0的两个表

$query = "select Order.PO_invoice, Order.Company, Order.Amt_Paid, Order.Balance,
          Order.dateCreated, Transaction.noDays,Transaction.PercentSplit 
          INNER JOIN Transaction
          ON Order.transactionType = Transaction.transactionType AND
           Order.status =0"

并在PHP中循环,并检查是否

currentTime - Order.dateCreated  > = Transaction.noDays

如果是,则显示该行,否则跳过该行。

我想知道是否有办法只在MYSQL中执行此操作并仅返回这些行。

1 个答案:

答案 0 :(得分:1)

你尝试过吗?

WHERE DATEDIFF(NOW(),Order.dateCreated) >= Transaction.noDays