अनुपलब्ध जानकारी मानते हुए:
- आपकी तालिका में
user_id
called नामक एक PK है । - आप
id = 2
वाले सभी तत्वों को हटाना चाहते हैं पूरी मेज पर। - आप अन्य पंक्तियों को स्पर्श नहीं करना चाहते हैं।
id
chats
. की प्रत्येक सरणी में अद्वितीय है ।
UPDATE "Users" u
SET chats = array_remove(u.chats, d.chat)
FROM (
SELECT user_id, chat
FROM "Users", unnest(chats) chat
WHERE chat->>'id' = '2'
) d
WHERE d.user_id = u.user_id;
निम्नलिखित स्पष्टीकरण प्रश्न में दी गई जानकारी की सीमा से मेल खाता है: