【问题标题】:I am wanting to enter a new row if there is only 1 row for a LaborCostId. If there are two rows, then ignore如果 LaborCostId 只有 1 行,我想输入一个新行。如果有两行,则忽略
【发布时间】:2021-04-07 22:23:06
【问题描述】:

我有一个包含几列的表格,如下所示。我想写一个UPDATE 语句来安排只在LaborCostID 只出现一次的情况下插入一个新行。这个新行将包含与单行项目相同的LaborCostID。如果LaborCostID 有两行,我想忽略它。因此,对于下面的示例,我需要插入一个新行 (LaborCostID = 181614, CostCode = 'Regular Benefits', Cost = 11.946)

  • 列名称 - 带有值的 LaborCostID(181614、181615、181615、181616、181616)

  • 列名称 - 带有值的成本代码(常规、加班、加班福利、常规、常规福利) 好处)

  • 列名称 - 带有值的成本(0.000000、15.000000、3.795000、0.000000、11.946000)

【问题讨论】:

  • 对不起,是的,我使用了不正确的术语。我知道我需要什么,只是用词不正确。

标签: sql-server count rows


【解决方案1】:

谢谢,我找到了一个帮助我获得它的 Where 语句。 选择 * 来自 azteca.LABORCOSTACTDETAIL t1 其中 LABORCOSTID IN(选择 * 从(选择 LABORCOSTID 来自 azteca.LABORCOSTACTDETAIL 按 LABORCOSTID 分组 有计数(azteca.LABORCOSTACTDETAIL.LABORCOSTID)= 1) 作为一个);

【讨论】:

  • 窗口函数COUNT() OVER (PARTITION BY ...) 会更高效
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-07-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-08
  • 2017-03-21
  • 2023-03-30
相关资源
最近更新 更多