SQL 查询显示第一个,如果他们标记

SQL query show the first if they flag

我查询了 SQL,这很好用。我要2个人的联系方式

我使用这个查询:

SELECT 
    Contact = STUFF((SELECT ';' + LTRIM(RTRIM(Ad.[Name])) + ', ' + Ba.[IB] + ', ', Ba.[BI] + ', ', Ba.[BN]
                     FROM Ba 
                     JOIN Ad ON Ba.AdID = Ad.AdID
                     WHERE Ad.AdNu = '448412' OR Ad.AdNu = '5444877'
                     FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')

他们做我想做的事!但是现在我想编辑这个查询,因为有些人有 2 个地址,并且在 table "Ba" 中有一列名称是 "IsAdress"。

这些列有 0 表示错误,1 表示正确。现在我希望我的列表在第一个位置显示 "IsAdress" 列中带有 1 的地址,但我不知道如何更改 WHERE。如何获得我的查询!?

也许 WHERE 和其他 select 语句来检查哪个地址是真实的?

请帮助我。

问候

SELECT Contact = STUFF((
SELECT ';' + LTRIM(RTRIM(Ad.[Name])) + ', ' + Ba.[IB] + ', ', Ba.[BI] + ', ', Ba.[BN]
FROM Ba JOIN Ad 
ON Ba.AdID = Ad.AdID
Where (Ad.AdNu = '448412' OR Ad.AdNu = '5444877')
ORDER BY Ba.IsAdress DESC
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')