UPDATE SQL SERVER QUERY : Hey guys how are you ?

Im trying to update the commission value column but I want that each row get their values but what happens when I execute that query is that all rows are updated and get the same values.

Can somenone tell me what im doing wrong ? 
Do you need more info ?
Thanks !

    UPDATE Discount set CommissionValue = 
    (SELECT[Discount].VendorCommissions * [Order].OrderTotal / 100 FROM [Order]
    INNER JOIN[DiscountUsageHistory] ON [Order].Id = [DiscountUsageHistory].OrderId 
    INNER JOIN[Discount] ON [DiscountUsageHistory].Disc