【问题标题】:Create an SQL computed column创建 SQL 计算列
【发布时间】:2021-12-08 23:46:49
【问题描述】:

我需要一些帮助来尝试创建一个引用另一个表的计算列。

Table1 示例(控制台):

Console   Games     GameCount
PS4       Y         3
Switch    Y         5
Xbox      Y         2

Table2 示例(游戏):

GameName  Console
GameA     PS4
GameB     Switch
GameC     Switch
GameD     Xbox
GameE     PS4
GameF     Switch
GameG     Switch
GameH     PS4
GameI     Switch
GameJ     Xbox

我需要在表 1(控制台)中创建一个 GameCount 列,该列将查看表 2 并计算每个控制台的游戏数。

【问题讨论】:

  • 您需要一个视图而不是计算列来显示此数据。 SQL Server Views
  • 通过标量函数作为计算列可以做到这一点。但是,您应该避免这些,因为首先,它们无法随着 Table2 中的数据更改而更新,并且只有在 Table1 中发生强制更改时才会更新。

标签: sql calculated-columns computed-field


【解决方案1】:

我认为根据我的基本理解,您只需要以下输出:

UPDATE TABLE1 ON TABLE1.GameCount=Table2Output.GameCount FROM TABLE1
LEFT JOIN (SELECT Console,Count(*) AS GameCount FROM TABLE2 GROUP BY Console) AS Table2Output ON Table2Output.Console=TABLE1.Console

SELECT TABLE2.GamerName,TABLE2.Console,ISNULL(TABLE1.GameCount,0) FROM TABLE2
LEFT JOIN TABLE1 ON TABLE1.Console=TABLE2.Console

如果我错了,请纠正我。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-06-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多