Das Problem sehe ich in der redundanten Verwendung der gruppen_id. Das ganze wäre SEHR einfach zu lösen, wenn du eine eigene Tabelle für die Gruppen machst und die gruppen_id aus der Tabelle Kontakte einfach entfernst. Dann kannst du doch einfach nach Gruppen oder Einzelpersonen suchen (natürlich für einen bestimmten Gesprächstermin).