Get Featured Image via direct sql query

I know you can use the wordpress methods for getting a featured image, however with this particular project I need to get the featured image via mysql query. Can anyone point me in the right direction. Thank you.

This is what I have so far but my query is not doing the trick. I have the $post->id stored as a variable called $da_id

            $Featured_image = $wpdb->get_results("
            SELECT *
            FROM net_5_postmeta  
            INNER JOIN net_5_posts ON net_5_postmeta.post_id=net_5_posts.ID 
            WHERE post_parent = $da_id
            AND meta_key = '_wp_attached_file' 
            ORDER BY post_date 
            DESC LIMIT 15",'ARRAY_A');

Related posts

Leave a Reply

2 comments

  1. $Featured_image = $wpdb->get_results("
        SELECT p.*
          FROM net_5_postmeta AS pm
         INNER JOIN net_5_posts AS p ON pm.meta_value=p.ID 
         WHERE pm.post_id = $da_id
           AND pm.meta_key = '_thumbnail_id' 
         ORDER BY p.post_date DESC 
         LIMIT 15
    ",'ARRAY_A');
    
  2. A related solution, to query for posts WITHOUT providing a post ID (ordered by post date, and using the wp_ database prefix):

        SELECT
            p1.*,
            wm2.meta_value
        FROM 
            wp_posts p1
        LEFT JOIN 
            wp_postmeta wm1
            ON (
                wm1.post_id = p1.id 
                AND wm1.meta_value IS NOT NULL
                AND wm1.meta_key = "_thumbnail_id"              
            )
        LEFT JOIN 
            wp_postmeta wm2
            ON (
                wm1.meta_value = wm2.post_id
                AND wm2.meta_key = "_wp_attached_file"
                AND wm2.meta_value IS NOT NULL  
            )
        WHERE
            p1.post_status="publish" 
            AND p1.post_type="post"
        ORDER BY 
            p1.post_date DESC