在sql server和sum列中拆分行sql
嗨,我有一张像这样的桌子: 我的问题是:有可能在一个新表中拆分两行,每个CK类型的总数量是多少 以下是显示结果的图片:在sql server和sum列中拆分行sql,sql,sql-server,Sql,Sql Server,嗨,我有一张像这样的桌子: 我的问题是:有可能在一个新表中拆分两行,每个CK类型的总数量是多少 以下是显示结果的图片: 如果CK只有2个值,则可以执行以下操作: SELECT IDEME, MAX(CASE WHEN CK='A' THEN Qty ELSE NULL END) QtyA, MAX(CASE WHEN CK='A' THEN CK
如果CK只有2个值,则可以执行以下操作:
SELECT
IDEME,
MAX(CASE
WHEN CK='A' THEN Qty
ELSE NULL
END) QtyA,
MAX(CASE
WHEN CK='A' THEN CK
ELSE NULL
END) TypeA,
MAX(CASE
WHEN CK='S' THEN Qty
ELSE NULL
END) QtyS,
MAX(CASE
WHEN CK='S' THEN CK
ELSE NULL
END) TypeS,
Azienda,
DataImport,
Serial
FROM [Table]
GROUP BY
IDEME,
Azienda,
DataImport,
Serial
如果CK只有2个值,则可以执行以下操作:
SELECT
IDEME,
MAX(CASE
WHEN CK='A' THEN Qty
ELSE NULL
END) QtyA,
MAX(CASE
WHEN CK='A' THEN CK
ELSE NULL
END) TypeA,
MAX(CASE
WHEN CK='S' THEN Qty
ELSE NULL
END) QtyS,
MAX(CASE
WHEN CK='S' THEN CK
ELSE NULL
END) TypeS,
Azienda,
DataImport,
Serial
FROM [Table]
GROUP BY
IDEME,
Azienda,
DataImport,
Serial
您的CK类型是固定的(只有2个),或者可以更多。如果更多,您需要创建动态Pivot@ArturoAmalfi另一列呢,它们是动态数据还是固定数据?你怎么知道QtyA/QtyB是10/3而不是3/10?也许创建两个列会更简单better@PSKCk可以是s a或sL,但我只得到a和s分组的数量Serial@ArturoAmalfi在Ms Access DB或Excel中的PIVOT选项中也可以执行相同的操作。我认为查询没有那么容易。您的CK类型是固定的(只有2个),或者可以更多。如果更多,您需要创建动态Pivot@ArturoAmalfi另一列呢,它们是动态数据还是固定数据?你怎么知道QtyA/QtyB是10/3而不是3/10?也许创建两个列会更简单better@PSKCk可以是s a或sL,但我只得到a和s分组的数量Serial@ArturoAmalfi您可以在Ms Access DB或Excel中的PIVOT选项中执行相同的操作。我认为查询并没有那么容易。这看起来可以工作,但格式设置使其无法读取。对此表示抱歉,我重新格式化了它-我希望它更可读这看起来像它会工作,但格式使它不可读。很抱歉,我重新格式化了它-我希望它更可读