我遇到了这个用于执行幂等插入的 github SQL 代码示例。完全按照我想要的方式工作。我不想使用 EXISTS,因为我觉得它有点混乱。可以用连接编码相同的操作吗?
下面是我在 github 上找到的相同代码:https ://github.com/imtiazahmad007/SQL-Tips-Techniques/blob/master/Idempotent_Postgres_Inserts.sql
INSERT INTO users_articles (date, user_id, hit_count)
SELECT a.date, a.user_id, sum(a.article_id as hits)
from (
select t.* from users_article_details AS t
WHERE NOT EXISTS (
SELECT 1
FROM do_not_email_users_tbl
WHERE email = t.email
LIMIT 1
)) a
WHERE NOT EXISTS
(SELECT 1 from users_articles b
WHERE b.date = a.date)
GROUP BY date, user_id