Render parent paragraph depending on dynamic data from child paragraph (e.g. db query)
I don't understand the code and what you are trying to do, so I answer the question in the title and the last part of the question:


  How can i access a child paragraph's render array from the parent? Or
  is there a better approach to achieving a similar result?


Don't use the render array, use the parent paragraph entity to get the child paragraphs and their field values:

use Drupal\Core\Cache\Cache;

/**
 * Implements hook_ENTITY_TYPE_view() for paragraph entities.
 */
function MODULE_paragraph_view(array &amp;$build, EntityInterface $entity, EntityViewDisplayInterface $display, $view_mode) {
  $bundle = $entity-&gt;bundle();
  // check if this is the parent paragraph
  if ($bundle === 'gigs_teaser') {
    foreach ($entity-&gt;field_child_paragraphs-&gt;referencedEntities() as $paragraph) {
      // get a field value from a child paragraph
      $field_value = $paragraph-&gt;field_example-&gt;value;
      $build['#cache']['tags'] = Cache::mergeTags($build['#cache']['tags'], $paragraph-&gt;getCacheTags());
      ...
    }
  }
}




Node query

I think I understand now the issue more. You ask probably the wrong question, because the "dynamic data from the child paragraph" is in reality not data from this paragraph, but from a node entity query. If you want to access this query data from two places in code, then put the code in a function and store the result in a static variable so that it is not calculated twice.