Не уверен, почему вы включаете таблицу groupMembers в подзапрос, но как насчет этой альтернативы:
SELECT IF(`linktype`="group", (SELECT contactgroups.grname
FROM contactgroups
WHERE contactgroups.id=groupmembers.id),2)
FROM groupmembers
или, что еще лучше, избавьтесь от подзапроса, так как он не нужен
SELECT IF(`linktype`="group", contactgroups.grname,2)
FROM groupmembers
LEFT JOIN contactgroups ON (contactgroups.id = groupmembers.id)
Кроме того, у меня есть скрытое подозрение, что в вашей таблице групп контактов есть несколько записей для одной или нескольких записей в таблице членов вашей группы. Возможно, вы тоже захотите это подтвердить.