Для этой проблемы есть вещь, называемая INNER JOIN
.
select A.*
from ABC A
INNER JOIN XYZ X ON X.ID = A.ID OR X.ID = A.PID
Нет необходимости в любом предложении where, поскольку это отфильтрует результаты.
ИЛИ это можно сделать, выполнивэто:
SELECT *
FROM ABC
WHERE
ABC.ID IN (select ID from XYZ)
OR ABC.PID IN (select ID from XYZ)
Но первое решение должно быть предпочтительным.