Синтаксис вида
join Table where ...
предполагает, что из таблицы Table необходимо взять все поля. Что противоречит аггрегирующей функции Count() в первом select. Необходимо либо добавить аггрегирующую функцию и во вторую таблицу
X++:
select Count(RecId) from Table1
join Count(RecId) from Table2 where Table1.field1 == Table2.field1 && Table2.field2 == "111"
Либо указать в качестве списка полей второй таблицы - константу. Обычно это TableId
X++:
select Count(RecId) from Table1
join TableId from Table2 where Table1.field1 == Table2.field1 && Table2.field2 == "111"
Добавление группировки, также ограничивает выводимый список полей только полями, участвующими в группировке. Но это не явное ограничение, которое, по возможности, желательно избегать. Просто запрос становится "не прозрачным"
Ну, или воспользоваться советом
dech и использовать exists join. Но это уже зависит от того, какое именно количество нужно подсчитать.