Как получить значение из уникального идентификатора базы данных типа varchar - PullRequest
0 голосов
/ 19 мая 2018

У меня следующий запрос;Вы можете помочь мне с этим?У меня есть comboAmount и TotalPrice, я хочу добавить TotalPrice + Combo Amount в newComboAmount, но он показывает мне неверный результат, потому что мой ComboUniqueId отличается от других, пожалуйста, проверьте изображение ниже и запрос

SELECT
    CAST(CASE 
            WHEN a.TotalPrice != 0 
               THEN 1  
               ELSE 0  
         END AS bit) AS CheckOtherPrice, 
    a.OrderDetailId, a.ItemId,
    b.ItemCode, b.ItemName,
    e.GroupName,
    a.Quantity, a.Price, a.TotalPrice,
    a.OrderId, ISNULL(a.ComboId, 0) ComboId, 
    (a.ComboAmount + SUM(a.TotalPrice) OVER (ORDER BY a.OrderDetailId)) AS new_comboamount,  
    a.ComboGroupId, a.ComboAmount, a.ComboUniqueId,
    c.ComboName, d.GroupName ComboGroupName,
    a.OfferMasterId 
FROM
    OrderDetail a
INNER JOIN
    ItemMaster b ON a.ItemId = b.ItemId AND a.OrderId IN (985)
INNER JOIN
    ItemGroup e ON b.ItemGroupId = e.ItemGroupId
LEFT JOIN
    ComboMaster c ON a.ComboId = c.ComboId
LEFT JOIN 
    ComboGroup d ON a.ComboGroupId = d.GroupId

enter image description here

1 Ответ

0 голосов
/ 19 мая 2018

Я думаю, вам просто нужно partition by:

( a.ComboAmount + sum(a.TotalPrice) over (partition by combouniqueid order by a.OrderDetailId) ) as new_comboamount
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...