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

SQLAlchemy और postgresql में दो उपश्रेणियों का संघ कैसे करें

मैंने थोड़ा अलग तरीका इस्तेमाल किया:

# the first subquery, select all ids from SOME_TABLE where some_field is not NULL
s1 = select([SOME_TABLE.c.id]).where(SOME_TABLE.c.some_field != None)

# the second subquery, select all ids from SOME_TABLE where some_field is NULL
s2 = select([SOME_TABLE.c.id]).where(SOME_TABLE.c.some_field != None)

# union s1 and s2 subqueries together and alias the result as "alias_name"
q = s1.union(s2).alias('alias_name')

# run the query and limit the aliased result to 10
session.query(q).limit(10)

यहाँ उत्पादित sql है:

SELECT alias_name.id AS alias_name_id 
FROM (SELECT some_table.id AS id 
FROM some_table 
WHERE some_table.some_field IS NOT NULL UNION SELECT some_table.id AS id 
FROM some_table 
WHERE some_table.some_field IS NULL) AS alias_name 
LIMIT 10

मुझे लगता है कि यह वही परिणाम है जो आप चाहते थे।




  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. अस्थायी कुंजी को लागू करने के लिए PostgreSQL, ट्रिगर और समवर्ती

  3. टेबल्स और इंडेक्स बनाम एचडीडी और एसएसडी

  4. पोस्टग्रेस्क्ल (कीसेट पेजिनेशन?)

  5. पायथन में गिनती मूल्यों को कैसे स्टोर करें