我的SQL与MAX功能,然后分组&总结价值和文字

时间:2016-12-27 18:10:12

标签: sql greatest-n-per-group

SELECT RegWOSEGSmry.ardate,
  RegWOSEGSmry.arinvno,
  RegWOSEGSmry.artotal,
  RegWOSEGSmry.aryear,
  RegWOSEGSmry.CreationDate,
  RegWOSEGSmry.custpcl,
  RegWOSEGSmry.custsnum,
  RegWOSEGSmry.CxOpenDate,
  RegWOSEGSmry.DistributeFlatRates,
  RegWOSEGSmry.FlatRateAll,
  RegWOSEGSmry.FlatRateAllAmt,
  RegWOSEGSmry.FlatRateLabor,
  RegWOSEGSmry.FlatRateLaborAmt,
  RegWOSEGSmry.FlatRateMisc,
  RegWOSEGSmry.FlatRateMiscAmt,
  RegWOSEGSmry.FlatRateParts,
  RegWOSEGSmry.FlatRatePartsAmt,
  RegWOSEGSmry.HardwareCost,
  RegWOSEGSmry.HardwareStreetPrice,
  RegWOSEGSmry.HardwareTMRPrice,
  RegWOSEGSmry.kbranch,
  RegWOSEGSmry.kcustnum,
  RegWOSEGSmry.kequipnum,
  RegWOSEGSmry.kmfg,
  RegWOSEGSmry.kmodel,
  RegWOSEGSmry.kserialnum,
  RegWOSEGSmry.kswoseg,
  RegWOSEGSmry.kworkorder,
  RegWOSEGSmry.LaborCost,
  RegWOSEGSmry.LaborHours,
  RegWOSEGSmry.LaborStreetPrice,
  RegWOSEGSmry.LaborTMRPrice,
  RegWOSEGSmry.MiscCost,
  RegWOSEGSmry.MiscStreetPrice,
  RegWOSEGSmry.MiscTMRPrice,
  RegWOSEGSmry.oeitemlong,
  RegWOSEGSmry.oeshipname,
  RegWOSEGSmry.oetypeord,
  RegWOSEGSmry.PartsCost,
  RegWOSEGSmry.PartsStreetPrice,
  RegWOSEGSmry.PartsTMRPrice,
  RegWOSEGSmry.RegWOSEGId,
  RegWOSEGSmry.SegCompletedDate,
  RegWOSEGSmry.SegOpenDate
FROM WieseData.dbo.RegWOSEGSmry RegWOSEGSmry
WHERE (RegWOSEGSmry.kcustnum='165453')

会产生这个:

Beginning Data

每个RegWOSEGSmry.kworkorder都可以有多个RegWOSEGSmry.oeitemlong值,但我感兴趣的是特定kworkorder的所有MAX oeitemlong值。之后,我需要将所有列组合成一行以产生以下内容:

Ending Result should look like this

额外棘手的部分是对于“kswoseg”列中“999”的行,我需要对所有特定的其他值求和,但有时候“999”行中没有文本/数据。 kequipmnum“,”kmfg“,”kmodel“和”kserialnum“字段,但我仍然需要将此数据提升到最后一张图中的剩余行。我不在乎“kswoseg”字段中剩下什么价值。

我知道,我在这里扔掉了很多,但这让我发疯了......

1 个答案:

答案 0 :(得分:0)

select MAX(RegWOSEGSmry.oeitemlong),RegWOSEGSmry.kserialnum,RegWOSEGSmry.FlatRateLaborAmt,RegWOSEGSmry.kmodel,.....(add all the columns that you want) FROM WieseData.dbo.RegWOSEGSmry RegWOSEGSmry
WHERE (RegWOSEGSmry.kcustnum='165453') group by all the above columns except oeitemlong.

对于空值,请尝试以上操作,看看是否有效。