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

Postgresql में जहां क्लॉज में एक उपनाम कॉलम का उपयोग करना

मैं एक ही मुद्दे पर संघर्ष कर रहा था और "mysql वाक्यविन्यास गैर-मानक है" मेरी राय में मान्य तर्क नहीं है। PostgreSQL आसान गैर-मानक एक्सटेंशन भी जोड़ता है, उदाहरण के लिए "INSERT ... RETURNING ..." डालने के बाद ऑटो आईडी प्राप्त करने के लिए। साथ ही, बड़े प्रश्नों को दोहराना एक अच्छा समाधान नहीं है।

हालाँकि, मुझे WITH स्टेटमेंट बहुत मददगार (CTE) लगा। यह क्वेरी के भीतर एक अस्थायी दृश्य बनाता है जिसे आप सामान्य तालिका की तरह उपयोग कर सकते हैं। मुझे यकीन नहीं है कि मैंने आपके जॉइन को सही तरीके से लिखा है, लेकिन सामान्य तौर पर इसे इस तरह काम करना चाहिए:

WITH jobs_refined AS (
    SELECT
        jobs.*,
        (SELECT CASE WHEN lead_informations.state IS NOT NULL THEN lead_informations.state ELSE 'NEW' END) AS lead_state
    FROM jobs
    LEFT JOIN lead_informations
        ON lead_informations.job_id = jobs.id
        AND lead_informations.mechanic_id = 3
)
SELECT *
FROM jobs_refined
WHERE lead_state = 'NEW'


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PostgreSQL, नुस्खा द्वारा सामग्री की गणना के लिए जटिल क्वेरी

  2. मैं विंडोज़ पर PostgreSQL के लिए केवल क्लाइंट टूल्स कैसे स्थापित करूं?

  3. PostgreSQL में व्यू कैसे बनाएं

  4. यादृच्छिक पंक्तियों का चयन करने का सबसे अच्छा तरीका PostgreSQL

  5. पीएसक्यूएल के साथ यूजर कैसे बनाएं