私の質問を見ていただきありがとうございます。同様の質問を見たことがありますが、同じ深さではありません。助けてください!
user_id と date_created を保持するテーブル内のすべての行を、user_id の最も低い date_created で更新したいと考えています。
次の選択により、更新したいすべての行が得られます。
select user_id, min(date_created) from mytable s1 where
(select count(1) from mytable s2 where
s1.user_id = s2.user_id group by s2.user_id)
> 1 group by user_id order by user_id;
この更新プログラムが機能することを期待していました。
update mytable set join_status = 1 where date_created =
(select min(date_created) from mytable s1 where
(select count(1) from simplepay_payment s2 where
s1.user_id = s2.user_id group by s2.user_id)
> 1 group by user_id);
しかし、次のエラーが発生します。
ERROR: more than one row returned by a subquery used as an expression
いくつかの異なる解決策を試しましたが、何も役に立たないようです。
誰かが私から何かアイデアを持っていますか?
再度、感謝します。