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

SQL ORDER BY CASE with UNION ALL

सब कुछ एक और चयन में रखें:

SELECT * FROM (
  SELECT "Field1" AS field_1, "Field2" AS field_2,
  "Field3" AS field_3, "Field4" AS field_4
  FROM "TableName" 
  WHERE condition
  AND other_condition
  UNION ALL
  SELECT "Field1" AS field_1, "Field2" AS field_2,
  "Field3" AS field_3, "Field4" AS field_4
  FROM "TableName" 
  WHERE yet_another_condition
  AND yet_another_other_condition
) As A
ORDER BY CASE field_1
    WHEN 'A' THEN 1
    WHEN 'B' THEN 2
    WHEN 'C' THEN 3
    ELSE 4
END

या, बेहतर है, ORDER BY में उपनाम का उपयोग करें, क्योंकि इसे UNION के अंत में पारित किया गया है:

  SELECT "Field1" AS field_1, "Field2" AS field_2,
  "Field3" AS field_3, "Field4" AS field_4
  FROM "TableName" 
  WHERE condition
  AND other_condition
  UNION ALL
  SELECT "Field1" AS field_1, "Field2" AS field_2,
  "Field3" AS field_3, "Field4" AS field_4
  FROM "TableName" 
  WHERE yet_another_condition
  AND yet_another_other_condition
  ORDER BY CASE field_1
    WHEN 'A' THEN 1
    WHEN 'B' THEN 2
    WHEN 'C' THEN 3
    ELSE 4
  END


  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. Postgresql चुनें यदि स्ट्रिंग में शामिल है

  4. PostgreSQL के साथ PDO का उपयोग करते समय प्लेसहोल्डर के रूप में प्रश्न चिह्न को कैसे अनदेखा करें

  5. JDBC का उपयोग करके सभी विदेशी कुंजियाँ प्राप्त करें