Для каждого отдельного человека, у которого есть Toyota, возьмите только Toyota и отфильтруйте другие машины этого человека, в противном случае принесите все машины.
Фактический скрипт не будет соответствовать моим логикам c выше. Я пытался упростить свой вопрос, используя случайные имена и марки автомобилей, но цель была та же, поскольку я хотел получить конкретный адресный код c и отфильтровать остальное, если он существует для имен других поставщиков (см. Ниже) , Спасибо, GMB.
GPMEM.dbo.PM00200 a -- Vendor Master
LEFT JOIN GPMEM.dbo.PM30200 b -- Historical/Paid Transactions
ON a.VENDORID = b.VENDORID
LEFT JOIN GPMEM.dbo.PM20000 c -- Open/Posted Transactions
ON a.VENDORID = c.VENDORID
LEFT JOIN (
SELECT d.*,
rank() over(
partition by d.VENDORID
order by case when d.ADRSCODE = 'ACH' THEN 0 ELSE 1 END
)rn
FROM GPMEM.dbo.PM00300 d
) d -- Vendor Address Master
ON a.VENDORID = d.VENDORID
WHERE
d.rn = 1