WPDB Query Question with Category Only

This is a SQL problem. Your query is wrong. You forgot to include the term_relationships table in the query, yet reference it during the JOIN. By including the term_relationships table, that would solve the problem with the query.

SELECT ID, post_title, post_content, post_date
  FROM {$wpdb->posts} AS p
  JOIN {$wpdb->term_relationships} AS tr
  ON tr.object_id = p.id
  JOIN {$wpdb->term_taxonomy} AS tt
  ON tt.term_taxonomy_id = tr.term_taxonomy_id
  WHERE tt.term_id = 18
  AND tt.taxonomy = 'category'
  AND post_status="publish"
  AND post_type="post"      
  ORDER BY post_date DESC
  LIMIT 25