gpt4 book ai didi

mysql - 如何通过在MySQL中的另一个表中创建行来选择表中的列

转载 作者:行者123 更新时间:2023-11-30 23:14:49 24 4
gpt4 key购买 nike

我有三个表。

  • 税务主管
  • item_master
  • item_tax

里面的值是这样的

*tax_master*
tax_id tax_name tax_value
--------------------------
1 Vat 5
2 LBT 8

*item_master*
item_id Prise
---------------
1 30
2 100

*item_tax*
item_tax_id item_id tax_id
------------------------------
1 1 1
2 2 2
3 1 2

现在我想要这样的输出。

item_id  prise VAT   LBT   Total_prise
---------------------------------------
1 30 1.5 2.4 33.9
2 100 - 8 108

增值税值的计算方式为 5/30*100,如 5% on 30=1.5

最佳答案

select item_id, price,
(min(case when tax_name = 'VAT' then tax end)) vat,
(min(case when tax_name = 'LBT' then tax end)) lbt,
coalesce(min(case when tax_name = 'VAT' then tax end),0) +
coalesce(min(case when tax_name = 'LBT' then tax end),0) +
price total
from
(select a.item_id item_id,
c.tax_name tax_name,
(c.tax_value * b.price / 100) tax,
b.price price
from item_tax a inner join item_master b on a.item_id = b.item_id
inner join tax_master c on a.tax_id = c.tax_id) as calc
group by item_id, price;

演示 here .

关于mysql - 如何通过在MySQL中的另一个表中创建行来选择表中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18400708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com