我的查询结果具有以下特征:

LIDCode                         Total   Domain  Region  VSE   Version
AB02                               15   GLOBAL  CANLA    0     6943
AB02 - 5925 CENTRE STREET SW       31   GLOBAL  CANLA   30     6943

我正在从 2 个不同的表中获取数据,但我想对 LIDCode 值使用更长的条目。这是许多人的一组结果。如何将这两行组合在一起以获得组合行的总数? LIDcode 值发生变化,所以我不能使用 AB02 作为常量值进行比较。

我需要的结果是:
AB02 - 5925 CENTRE STREET SW       46   GLOBAL  CANLA   30     6943

最佳答案

您可以尝试这样的操作(以 SQL Server 为例):

select max(LIDCode) as LIDCode
      , sum(Total) as Total
      , Domain
      , Region
      , sum(VSE) as VSE -- or max(VSE)
      , Version
from Mytable
group by left(LIDCode, 4), Domain, Region, Version

您可能必须按 LIDCode 的不同子字符串(空格前的第一个子字符串等)进行分组

这里有一个 SQL Fiddle 可以弄乱并可能在另一个 RDBMS 中尝试。

关于sql - 将两行的相似列数据合并为一行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14130353/

10-13 00:32