Got this now, but does not do anything, what is wrong? Any help is highly appreciated.
global $wpdb;
// delete all posts WHERE meta_value = $aid;
$wpdb->query("DELETE wp
FROM $wpdb->posts wp
LEFT JOIN $wpdb->postmeta pm ON pm.post_id = wp.ID
WHERE mp.meta_key = 'product_aid' AND mp.meta_value = '". $aid ."'");
// delete not used meta
$wpdb->query("DELETE pm
FROM $wpdb->postmeta pm
LEFT JOIN $wpdb->posts wp ON wp.ID = pm.post_id
WHERE wp.ID IS NULL");