Okay, my query will not work then, as ckt_id will throw off count. A subquery could handle this, but you are using mysql.
Also, my query uses the wrong column - should be site_id rather than relation_id.
// sites that have at least 2 primary type circuits
$sql = "SELECT sc.site_id, COUNT(sc.site_id) AS total_circuits
FROM site s, circuits c, site_circuit sc
WHERE type = 'primary' AND
sc.ckt_id = c.ckt_id AND sc.site_id = s.site_id
GROUP BY sc.site_id
HAVING total_circuits >= 2";
$site_result = mysql_query($sql);
while ($site_array = mysql_fetch_array($site_result))
{
//select details for site_id's returned in first query
$site_id = $site_array['site_id'];
$sql = "SELECT sc.ckt_id, sc.site_id, sitename, address
FROM site_circuit sc, circuits c, site s
WHERE type = 'primary' AND sc.site_id = '$site_id' AND sc.ckt_id = c.ckt_id AND sc.site_id = s.site_id";
$detail_result = mysql_query($sql);
while ($detail_array = mysql_fetch_array($detail_result))
{
// get details of each site
// repeated rows for each row in relation
echo $site_detail['sitename'];
}
}