I have a query to pull a total number for a given publisher ID. I’d like to use it as a subquery so I can iterate over all publisher IDs.
My working query for a given ID is:
SELECT SUM( d.our_cost )
FROM articles a
CROSS JOIN domains d ON a.domain_id = d.id
AND d.publisher_id = '1094'
I’d like to pull this figure for all ID’s in publisher p table where d.publisher_id = p.id
So far I’ve tried the following to no avail:
SELECT p.id, p.contact_name, p.contact_email,
(SELECT SUM(d.our_cost)
FROM articles a
CROSS JOIN domains d ON a.domain_id = d.id and d.publisher_id = p.id) total
FROM publishers p
The specific error I’m getting is: Unknown column ‘p.id’ in ‘on clause’
I think you should modify your query and put the subquery in the from clause, something like this: