sql >> Databáze >  >> RDS >> Oracle

Oracle:Vlevo spojte velmi velkou tabulku a omezte spojené řádky na jeden s největší hodnotou pole

zkuste toto

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

nebo můžete zkusit toto (je to váš kód, ale nějaké úpravy)

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. Laravel kdeV NEBO kdeV

  2. Jak nahradit hodnoty sqlldr

  3. Hostitel MySQL '::1' nebo '127.0.0.1' se nemůže připojit k tomuto serveru MySQL

  4. Jak dám každému registrovanému uživateli jeho vlastní URL pomocí PHP?