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

Oracle:बाईं ओर बहुत बड़ी तालिका में शामिल हों और सम्मिलित पंक्तियों को सबसे बड़े फ़ील्ड मान के साथ एक तक सीमित करें

इसे आजमाएं

SELECT m.*,
       (select s.s_field 
          from t_sub s
         where s.m_id = m.m_id
           and s.s_order = (select max(s_order) from t_sub where t_sub.m_id = s.m_id)
           and rownum = 1)
FROM t_main m

या आप इसे आजमा सकते हैं (यह आपका कोड है लेकिन कुछ संशोधन हैं)

SELECT m.*,
      (select s.s_field from 
       (SELECT s_field, m_id
          FROM t_sub
         --where t_sub.m_id = m.m_id
         order by s_order DESC) s
        where s.m_id = m.m_id
          and rownum = 1)
FROM t_main m


  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. यहां कॉलम की अनुमति नहीं है कई कॉलम पर Oracle SQL

  3. SQL में पंक्तियों के रूप में प्रत्येक मान को n बार दोहराएं

  4. रेगेक्स में लुकहेड को कैसे बदलें?

  5. एक समारोह के कारण Oracle 11 में उत्परिवर्तन तालिका