如何使用来自另一个表的数据更新列

时间:2019-04-06 03:16:17

标签: php mysql

我有一个新设置的MySQL服务器。我需要做的是将预算表中的列FoH_BudgetCalc复制到发票表中,这两个表都在同一数据库中。

我在这里找到此代码:

UPDATE invoices b, budget p 
SET b.FoH_BudgetCalc = p.FoH_BudgetCalc 
WHERE b.budget = p.id

它运行完美,但是我需要做的是从预算表的FoH_BudgetCalc列中复制最新条目,并更新发票表的FoH_BudgetCalc列中的最新条目但事实并非如此。

budget如下所示:

ID| Name      | Date      | FoH_Budget | cogf | BoH_Budget | cogb | BoH_BudgetCalc | FoH_BudgetCalc |
1 | Ajay Quirk| 2019-03-29| 10000      | .28  | 2800       | .28  | 2800        | 2800 |

invoices表如下所示:

ID | Name      | date      | foH_boh | invoice_number | invocie_price | company | FoH_BudgetCalc | BoH_BudgetCalc | new_foh_budget | new_boh_budget |
1  | Ajay Quirk| 2019-03-29| FoH     | 1234           | 123           | Test    | Null           | Null           | Null           | Null           |

例如,如果预算表的FoH_BudgetCalc列中有一个条目,它将捕获该条目并将其放入发票表的FoH_BudgetCalc列中,但是如果预算表中有2个条目发票表将无法从FoH_BudgetCalc表的Budget中获取数据,因为两个条目的ID不匹配。

因此,需要做的是从FoH_BudgetCalc表的budget列中获取最新条目,并将该数据复制到发票表的FoH_BudgetCalc列中的最新条目中

将数据复制到invoice表中后,invoice表应如下所示:

ID | Name      | date      | foH_boh | invoice_number | invocie_price | company | FoH_BudgetCalc | BoH_BudgetCalc | new_foh_budget | new_boh_budget |
1  | Ajay Quirk| 2019-03-29| FoH     | 1234           | 123           | Test    | 2800           | Null           | Null           | Null           |

0 个答案:

没有答案