SQLクエリに問題があります。 7番目の行 "OrSp_Amount!= OrSp_CompletedAmount"のWHERE句には、100%の相違点のみが表示されます(
)。MS SQL!=と<>句ですべての相違が表示されない
最初の選択は正常に動作しますが、2番目の選択では部分的な違いが示されていません。 (20-5,40-3、たとえば45-0のみ)
私は '<>'も使用しようとしましたが、何も変更されませんでした。
アイデア:)?
WITH Orders_CTE
AS
(
SELECT [OrSp_ProductInWarehouseId], [OrSp_CompletedFromInvoice], [OrSp_Amount], [OrSp_TaxRate], [OrSp_CompletedAmount], OrSp_Price ,
OrSp_OrderHeaderId , Orde_ClientId
FROM data.AllOrders
JOIN [data].[AllOrderPositions]WITH(INDEX([IX_OrSp_OrderHeaderId])) ON [Orde_Id] = [OrSp_OrderHeaderId]
WHERE [Orde_ShipmentDate] BETWEEN '2016-06-01' AND '2017-01-01' AND [Orde_ClientId] = 17467 AND OrSp_Amount != OrSp_CompletedAmount
)
SELECT OrSp_ProductInWarehouseId, 17467 as ClientID,
SUM(Orders_CTE.OrSp_Price) as Price,
SUM(OrSp_Amount) as Amount,
SUM(OrSp_Price * OrSp_Amount) as TotalNetValue ,
SUM(OrSp_CompletedFromInvoice) as CompletedFromInvoice,
SUM(OrSp_CompletedAmount) as CompletedAmount,
SUM(OrSp_Price * OrSp_CompletedFromInvoice) as CompletedValue,
SUM(OrSp_CompletedFromInvoice)/nullif(SUM(OrSp_Amount),0) as AmountRealizationPlaceholder,
SUM(OrSp_TaxRate*OrSp_Price + OrSp_Price) * SUM(OrSp_CompletedFromInvoice)/nullif(SUM((OrSp_TaxRate * OrSp_Price) + OrSp_Price),0) * SUM(OrSp_Amount) as ValueRealizationPlaceholder
FROM Orders_CTE JOIN [data].[Products] as Products ON Orders_CTE.OrSp_ProductInWarehouseId = Prod_Id
GROUP BY OrSp_ProductInWarehouseId, OrSp_OrderHeaderId
'!='は単に '<>'に代わるものです。 – jarlh
https://stackoverflow.com/help/mcveを読み、編集してください! – jarlh
100%の違いと部分的な違いはどういう意味ですか? 2物事は等しいか、異なっている、「差異」の度合いはない。サンプルデータを追加して、何を意味するのかを表示できますか? – HoneyBadger