2016-11-03 10 views

答えて

0

私が正しく理解していれば、私はあなたが実際にしたいと思います:

delete FROM xxxx.session_streaming_20161029 
WHERE EXISTS (
    SELECT 1 
    FROM xxxx.session_streaming_20161029, 
    UNNEST(hits) as h 
    WHERE h.transaction.transactionId = '123456'); 

アイデアが持ついくつかのトランザクションIDがある場合、すべての行を一致させることです値'123456'

編集:目標は、このトランザクションIDとhitsからエントリを削除し、そしてhitsはトランザクションIDが含まれている行全体を削除しない場合は、UPDATEを使用することができます。

UPDATE xxxx.session_streaming_20161029 
SET hits = 
    ARRAY(SELECT hit FROM UNNEST(hits) 
     WHERE transaction.transactionId = '123456'); 
+0

クエリを実行します。結果 - 57 rows affected - テーブル内のすべての行を削除しました。必要な行が1行になる – USMEDICAchannel

+0

私は依然としてクエリの意図が何であるかを理解しようとしています。すべての行を削除すると、すべての行にそのIDのトランザクションがあります。実際に行自体を削除することなく、そのトランザクションIDを持つ 'hits'からエントリを削除しようとしていますか?もしそうなら、答えを変更して代わりに 'UPDATE'を使うことができます。 –

+0

目的 - トランザクションを削除します。またはtransactionRevenue = nullおよびtransaction.transactionId = null – USMEDICAchannel

関連する問題