我的查询结果具有以下特征:
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
答案 0 :(得分:4)
您可以尝试这样的事情(作为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中尝试。
答案 1 :(得分:1)
你可以尝试这样的MySQL:
SELECT LEFT(LIDCODE, 4) AS LIDCODE, SUM(TOTAL) AS total, `Domain`, `Region`, SUM(VSE) AS vse, `Version`
FROM tbl
GROUP BY LEFT(LIDCODE, 4), `Domain`, `Region`, `Version`