我尝试通过对其他列进行分组来生成一个新列,并且下面的代码有效。
CASE
WHEN familyGroupPOSRef = 955
THEN MAX(RVCPOSId) OVER (PARTITION BY organizationID, Location_Code, transactionID)
ELSE -1
END AS toEntity
有没有办法通过使用字符串列来运行此代码?使用LocationName
代替RVCPOSId
之前的OVER
语句。
CASE
WHEN familyGroupPOSRef = 955
THEN LocationName OVER (PARTITION BY organizationID, Location_Code, transactionID)
ELSE 'nothing'
END AS toEntity
到目前为止,我在网上找不到任何东西。它不必是这种方法。我需要在单独的列中对 955进行分组organizationID, Location_Code, transactionID
和显示。locationName
现在怎么样了:
organizationID Code transactionID FGName itemName
10000 955 123456 Location Liv Retail
10000 103 123456 Internal Item Chocolate Milkshake
10000 103 123456 Internal Item Strawberry Milk
10000 103 123456 Internal Item Milk
我希望它如何
organizationID Code transactionID FGName toEntity itemName
10000 955 123456 Location Liv Retail Liv Retail
10000 103 123456 Internal Item Liv Retail Chocolate Milkshake
10000 103 123456 Internal Item Liv Retail Strawberry Milk
10000 103 123456 Internal Item Liv Retail Milk
一个事务可以有多个 menuItems,并且它总是有 1 个位置记录,就像一个 menuItem 一样保存。这是一个技巧。我喜欢创建一个新列来应用位置名称,即在提供的示例数据中的 toEntity 下的 Liv Retail。
如果我追求不可能的事情,请告诉我。然后我将分解 stmt 并使用 join 连接表。
提前致谢。