C# 在表1中添加从表2导出的计算列';s柱

C# 在表1中添加从表2导出的计算列';s柱,c#,sql-server,C#,Sql Server,我有两张桌子 雇员 财务 Employee包含3列 身份证 名字 底薪 财务表包含两列 身份证 骨百分比 我想在Employee表中添加TotalBonus列。对于计算,我使用员工表中的基本工资和财务表中的BonuPercentage 总奖金=基本工资+(基本工资*员工百分比) 我可以将其用于存储过程,但我不想。然而,我创建了标量函数(CalculateBunus),它返回TotalBonus,但问题是我不能在表中添加列,因为我依赖于Finance表的BonuPercentage 通常,我希

我有两张桌子

  • 雇员

  • 财务

Employee包含3列

  • 身份证
  • 名字
  • 底薪
  • 财务表包含两列

  • 身份证
  • 骨百分比
  • 我想在Employee表中添加TotalBonus列。对于计算,我使用员工表中的基本工资和财务表中的BonuPercentage

    总奖金=基本工资+(基本工资*员工百分比)

    我可以将其用于存储过程,但我不想。然而,我创建了标量函数(CalculateBunus),它返回TotalBonus,但问题是我不能在表中添加列,因为我依赖于Finance表的BonuPercentage

    通常,我希望employee表包含以下内容:

  • 身份证
  • 名字
  • 底薪
  • 总奖金
  • 我知道有很多方法,但需要在Employee表中使用,因为我在C#上使用此表。
    谢谢

    假设每个员工在
    财务
    中最多只能有一行,您希望(左)加入:


    您是否可以编辑问题并添加DDL、样本数据、预期输出以及您迄今为止尝试过的所有文本格式?totalbonus是如何计算的?totalbonus=BaseAlary+(BaseAlary*BonuPercentage)也许这个问题和答案可以帮助你:我个人会使用视图,而不是向表中添加列。在这种情况下,你说“添加列”意味着计算列,所以简短的回答是你不能,因为你不允许在计算列中使用其他表中的列。相反,您可以创建一个视图(我推荐),或者创建一个用户定义的函数来获得结果。
    SELECT e.id,
           e.name,
           e.basesalary,
           coalesce(f.bonuspercentage, 0) * e.basesalary totalbonus
           FROM employee e
                LEFT JOIN finance f
                          ON f.id = e.id;