title: Selecting all rows after a row with specific values without repeating the same subquery
body: <p>I have a table t1 and t2 which I join and order to form data set set1.</p>
  
  <p>Two columns c1 and c2 form a unique identifier for the rows in set1.</p>
  
  <p>I want to get all values from set1 after the first row with a specific c1 and c2.</p>
  
  <p>I have a query like the one below which works, but it repeats the same subquery twice, which seems superfluous and overly complex even for Oracle:</p>
  
  <pre><code>SELECT * FROM
  (
    SELECT row_number() OVER (ORDER BY c1, c3) myOrder, c1, c2, c3
    FROM t1, t2
    WHERE condition
    ORDER BY conditions
  ) sub1,
  (
    SELECT sub1_again.myOrder FROM
    (
      SELECT row_number() OVER (ORDER BY c1, c3) myOrder, c2, c3
      FROM t1, t2
      WHERE condition
      ORDER BY conditions
    ) sub1_again
    WHERE sub1_again.c2 = "foo" AND sub1_again.c3 = "bar"
  ) sub2
  WHERE sub1.myOrder &gt;= sub2.myOrder
  ORDER BY sub1.myOrder
  </code></pre>
  
  <p>It seems like SQL would have a simple way to do this, but I am not sure what to search for.
  Is there a cleaner way to do this?</p>