0

我有以下 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 中执行此操作并仅返回这些行。

4

1 回答 1

1

你有没有尝试过 -

WHERE DATEDIFF(NOW(),Order.dateCreated) >= Transaction.noDays
于 2012-07-03T05:37:27.323 回答