【问题标题】:SQL Computed Column, CountIF 2 TablesSQL 计算列,CountIF 2 个表
【发布时间】:2019-07-18 19:52:20
【问题描述】:

我有两张桌子

  • tblData_VendorMasterSSPaymentTerms
  • tblData_VendorMasterSSPaymentTermsCLM

tblData_VendorMasterSSPaymentTerms 包含一个标记为 VMSSPayTerms_AribaContractID 的字段,其值存在于表 tblData_VendorMasterSSPaymentTermsCLM 中

所以在表 tblData_VendorMasterSSPaymentTermsCLM 中,我想创建一个计算列来计算 tblData_VendorMasterSSPaymentTerms 中有多少记录包含该记录的合同 ID。

这是我到目前为止汇总的内容,但仍然出现错误

SELECT Count(VMSSPayTerms_AribaContractID)
From tblData_VendorMasterSSPaymentTerms
Where VMSSPayTerms_AribaContractID=VMSSPayTermsCLM_ContractID

有人可以帮我找出我做错了什么吗?

【问题讨论】:

    标签: sql count calculated-columns


    【解决方案1】:

    您必须加入表格,按 VMSSPayTermsCLM_ContractID 分组并计数:

    select
      c.VMSSPayTermsCLM_ContractID,
      count(t.VMSSPayTerms_AribaContractID) counter
    from tblData_VendorMasterSSPaymentTermsCLM c inner join tblData_VendorMasterSSPaymentTerms t
    on t.VMSSPayTerms_AribaContractID = c.VMSSPayTermsCLM_ContractID
    group by c.VMSSPayTermsCLM_ContractID
    

    【讨论】:

    • 计算列到底是什么意思?是否要更改表并添加新的计算列?这需要创建一个函数来引用其他表。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-18
    • 2017-06-18
    • 2017-06-05
    • 2018-01-22
    • 2014-01-27
    • 1970-01-01
    相关资源
    最近更新 更多