0

我正在尝试创建一个计算列,但它显示 total_value 列的错误,因为它不能从计算列 vat_value 创建...有没有办法解决它,我迫切需要表中的这两列。谢谢,

create table purchase(
invoice_num varchar(8),
product_id varchar(10),
product_name varchar(50),
supplier_name varchar(30),
gstn int(16),
vat_num varchar(12),
ph_num int(10),
quantity decimal(12,3),
unit varchar(3),
in_out char(1),
tax_value decimal(12,2),
gst_percent int(2),
igst decimal(12,2),
cgst decimal(12,2),
sgst decimal(12,2),
unloading int(8),
fare int(8),
vat_percent int(2),
vat_value decimal(8,3) as ((tax_value*vat_percent)/100) persistent,
total_value decimal(12,2) as (tax_value+igst+cgst+sgst+unloading+fare+vat_value)    
);
4

1 回答 1

0

您不能在其他定义中引用一个计算列。

一种解决方法是,您重构 total_value 的公式如下 -

total_value decimal(12,2) as (tax_value+igst+cgst+sgst+unloading+fare+((tax_value*vat_percent)/100))
于 2020-07-19T03:57:53.727 回答