Values:
{% assign person1Guid = 'Global' | PageParameter:'Person1' %}
{% if person1Guid != null and person1Guid != empty %}
{% assign prsn1 = person1Guid | PersonByAliasGuid %}
{% assign prsn1Id = prsn1.Id %}
{% assign lastName = prsn1.LastName %}
{% assign firstInitial = prsn1.FirstName | Slice:0,1 | Append:'%' %}
{% assign nickInitial = prsn1.NickName | Slice:0,1 | Append:'%' %}
{% assign email = prsn1.Email %}
{% assign mobilePhone = prsn1 | PhoneNumber:'Mobile' | Default:'0' | Replace:'(','' | Replace:') ','' | Replace:'-' %}
{% assign homePhone = prsn1 | PhoneNumber:'Home' | Default:'0' | Replace:'(','' | Replace:') ','' | Replace:'-' %}
{% assign workPhone = prsn1 | PhoneNumber:'Work' | Default:'0' | Replace:'(','' | Replace:') ','' | Replace:'-' %}
{% assign phones = '' | AddToArray:mobilePhone | AddToArray:homePhone | AddToArray:workPhone | RemoveFromArray:'0' %}
{% assign phoneNumbers = phones | Join:"','" | Prepend:"('" | Append:"')" %}
SELECT
CONCAT( '{{ person1Guid }}'
, '|'
, p.[Guid] ) AS 'Value'
, CONCAT( p.[FirstName]
, ' '
, p.[LastName]
, ' (Id: '
, p.[Id]
, ')' ) AS 'Text'
FROM [Person] p
WHERE p.[Id] != {{ prsn1Id }}
AND ( (p.[LastName] = '{{ lastName | Escape }}'
AND ( p.[FirstName] LIKE '{{ firstInitial }}'
OR p.[NickName] LIKE '{{ firstInitial }}'
OR p.[FirstName] LIKE '{{ nickInitial }}'
OR p.[NickName] LIKE '{{ nickInitial }}' ) )
OR ( p.[Email] = '{{ email }}' and p.[Email] != ''))
UNION
SELECT
CONCAT( '{{ person1Guid }}'
, '|'
, p.[Guid] ) AS 'Value'
, CONCAT( p.[FirstName]
, ' '
, p.[LastName]
, ' (Id: '
, p.[Id]
, ')' ) AS 'Text'
FROM [PhoneNumber] pn
INNER JOIN [Person] p
ON p.[ID] = pn.[PersonId]
AND p.RecordTypeValueId != 2
AND p.RecordTypeValueId != 1619
WHERE p.[Id] != {{ prsn1Id }}
AND Number in {{ phoneNumbers }}
AND Number != ''
ORDER BY 'Text'
{% endif %}
{{ results }}