Я обошёлся без подзапросов вот таким запросом непосредственно к базе. Знаю, что нельзя, но когда очень нужно, то можно)))
if($arFilter['=PROPERTY_76'])
{
$query = "SEL ECT IBLOCK_ELEMENT_ID, count(VALUE) cnt fr om b_iblock_element_prop_m23 where IBLOCK_PROPERTY_ID='76' AND VALUE in (".implode(",",$arFilter['=PROPERTY_76']).") group by IBLOCK_ELEMENT_ID having cnt=".count($arFilter['=PROPERTY_76']);
$result = $DB->Query($query);
while($arElement = $result->GetNext())
{
$row[]=$arElement['IBLOCK_ELEMENT_ID'];
}
}
unset($arFilter['=PROPERTY_76']);
$arFilter['ID']=$row;
if($arFilter['=PROPERTY_76'])
{
$query = "SEL ECT IBLOCK_ELEMENT_ID, count(VALUE) cnt fr om b_iblock_element_prop_m23 where IBLOCK_PROPERTY_ID='76' AND VALUE in (".implode(",",$arFilter['=PROPERTY_76']).") group by IBLOCK_ELEMENT_ID having cnt=".count($arFilter['=PROPERTY_76']);
$result = $DB->Query($query);
while($arElement = $result->GetNext())
{
$row[]=$arElement['IBLOCK_ELEMENT_ID'];
}
}
unset($arFilter['=PROPERTY_76']);
$arFilter['ID']=$row;