我遇到了一些我很难理解的预先存在的 SQL。
SELECT
MAX(I.Symbol) Symbol
, MAX(I.Ticker) CUSIP
, MAX(I.Name) Name
, SUM(H.Quantity) TotalQuantity
, SUM(H.MarketValue) TotalMarketValue
, MAX(H.PriceLC) Price
, MAX(I.CategoryCode5) BUY_SELL
, MAX(I.EquivFactor1) PriceTgt
, MAX(P.LastPrice) CurrPrice
, MAX(I.AssetClass) Target
, MAX(I.Industry) Industry
, MAX(I.CategoryCode1) Risk
FROM
HOLDINGS_SECURE H
, INVESTMENTS I
, PRICE P
WHERE
H.Symbol = I.Symbol
AND I.Product = 'stock'
AND H.Quantity > 0
AND I.CategoryCode5 NOT IN ('X', '')
AND H.Symbol = P.Symbol
GROUP BY
I.Symbol
Symbol、Ticker、Name、CategoryCode5、Assest Class、Industry 和 CategoryCode1 都是 varchar 字段。其余字段为小数。
我最有根据的猜测是,以某种方式使用 max 来避免多个分组列,但这如何返回正确的结果?