Sql 在主表上执行类似矩阵的计算

Sql 在主表上执行类似矩阵的计算,sql,tsql,Sql,Tsql,我有一张像这样的主桌 城市名称、月份、温度 A、 1月20日 .. A、 12月1日 B、 1月30日 .. Z、 12月12日 我想生成一个微分表,如 城市、城市、月份、不同温度 A、 A.温度-B.温度 … A、 Z,Dec,A。温度-z.温度 每一行将在主表中的某个特定月份循环通过其余行 最好的方法是什么?你是如何想出解决这个问题的办法的 多谢各位 听起来你在找一个 SELECT M1.city AS iCity , M2.city AS jCity , M1.month

我有一张像这样的主桌

城市名称、月份、温度

A、 1月20日
..
A、 12月1日
B、 1月30日 ..
Z、 12月12日

我想生成一个微分表,如

城市、城市、月份、不同温度 A、 A.温度-B.温度

A、 Z,Dec,A。温度-z.温度

每一行将在主表中的某个特定月份循环通过其余行

最好的方法是什么?你是如何想出解决这个问题的办法的


多谢各位

听起来你在找一个

SELECT
    M1.city AS iCity
,   M2.city AS jCity
,   M1.month
,   M1.temperature - M2.temperature AS final_temperature
FROM
    MASTER M1
    CROSS APPLY
    MASTER M2
    ON M2.month = M1.month

从技术上讲,这是一种交叉自连接。正确的,我在开始添加psuedocode示例并用apply替换交叉连接时考虑到了这一点。这看起来非常整洁。我将尝试评估它的性能。谢谢