PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

लिंग पुरुष वाले समूह में सभी उपयोगकर्ताओं को रेल करता है

मुझे लगता है कि आप उन सभी समूह आईडी को उपयोगकर्ता समूहों से प्राप्त कर सकते हैं जहां उपयोगकर्ता लिंग female है और उनका उपयोग NOT IN . के साथ करें खंड, उन सभी समूहों को फ़िल्टर करने के लिए जो उन आईडी से मेल खाते हैं:

with users(id, gender) as (values (1, 'male'), (2, 'female')),
     groups(id, name) as (values (1, '1st'), (2, '2nd')),
     user_groups(id, user_id, group_id) as (values (1, 1, 1), (2, 2, 1), (3, 2, 1))
select *
from groups g
where g.id not in (
    select ug.group_id
    from user_groups ug
    inner join users u on u.id = ug.user_id
    where u.gender = 'female'
)

ActiveRecord संस्करण इस तरह दिख सकता है:

Group.where.not(
  id: UserGroup.joins(:user)
               .where(users: { gender: 'female' })
               .select(:group_id)
)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एक पोस्टग्रेस संग्रहीत प्रक्रिया कैसे लिखूं जो कुछ भी वापस नहीं करता है?

  2. नोड.जेएस में पोस्टग्रेज (पीजी) क्लाइंट कनेक्शन बंद करना

  3. PostgreSQL में टेबल पर DELETE अक्षम करें?

  4. पोस्टग्रेज़ फ़ंक्शन में अस्थायी तालिका को नहीं पहचानता है

  5. JSON ऑब्जेक्ट लौटाने वाली REST सेवा को कैसे पढ़ें और इसे Mule ESB, Mule Studio का उपयोग करके PostgreSQL में संग्रहीत करें