列に基づいてクエリに含める必要があるレコードを計算する必要があるという問題があります。
私のテーブルは次のようになります
Client_Id Event ProductID Date Cart
1 rem 28 2012-02-23 573473
1 add 28 2012-02-23 573473
1 rem 24 2012-02-23 573473
イベント列に add と rem があることがわかりますが、これは基本的に、ユーザーがカートに製品を追加または削除したことを意味します。
私が取得する必要があるのは、たとえば productID 28 の値が正の場合にのみレコードです。
28 add one, remove = 0 は、カートにアイテムがないことを意味します。
このために私が書いたクエリは次のようなものです。
SELECT Client_Id,
Event,
ProductID,
Date,
Cart
FROM (SELECT *,
'Include' = CASE
WHEN Total > 0 THEN 1
ELSE 0
END
FROM (SELECT *,
[ADD] + REM AS Total
FROM (SELECT *,
'ADD' = CASE
WHEN Event = 'add' THEN 1
ELSE 0
END,
'REM' = CASE
WHEN Event = 'rem' THEN -1
ELSE 0
END
FROM Feed) a)b)c
WHERE c.[Include] = 1
しかし、行の合計ではなく、その行のproductIDのみを計算しているため、これは間違っていると思わざるを得ません。
誰かが私を正しい方向に向けることができますか?
ありがとう