Sql 其中a.声明='Y' 并且a.NYKACatID不是空的 和b.LocalPageID=@LocalPageID 和a.SBIcon='N' a.可视='Y' 和a.ProfileTypeID 1 和a.PackageType'G' 和a.PackageT
其中a.声明='Y' 并且a.NYKACatID不是空的 和b.LocalPageID=@LocalPageID 和a.SBIcon='N' a.可视='Y' 和a.ProfileTypeID 1 和a.PackageType'G' 和a.PackageType“P” 和a.PackageType“C” ) 按登录状态订购Sql 其中a.声明='Y' 并且a.NYKACatID不是空的 和b.LocalPageID=@LocalPageID 和a.SBIcon='N' a.可视='Y' 和a.ProfileTypeID 1 和a.PackageType'G' 和a.PackageT,sql,sql-server,sql-server-2008,tsql,Sql,Sql Server,Sql Server 2008,Tsql,其中a.声明='Y' 并且a.NYKACatID不是空的 和b.LocalPageID=@LocalPageID 和a.SBIcon='N' a.可视='Y' 和a.ProfileTypeID 1 和a.PackageType'G' 和a.PackageType“P” 和a.PackageType“C” ) 按登录状态订购 顺便说一下,我假设您的原始查询并不总是包括登录用户,您希望在第二个联合查询中指定这些用户。顺便说一下,我假设您的原始查询不总是包括登录用户,您可能希望在第二个联合查询中指定它
顺便说一下,我假设您的原始查询并不总是包括登录用户,您希望在第二个联合查询中指定这些用户。顺便说一下,我假设您的原始查询不总是包括登录用户,您可能希望在第二个联合查询中指定它们。我认为这可能是一种更优雅的方式,可以完成与我回答的相同的事情(您首先回答,尽管我在写我的问题之后才看到)+为你准备的。工作得很好。。很简单,就像我喜欢我的代码一样。非常感谢你的帮助……我想这可能是一种更优雅的方式,可以做我回答的事情(你先回答,尽管我写了我的答案后才看到)+为你准备的。工作得很好。。很简单,就像我喜欢我的代码一样。非常感谢你的帮助。。
SELECT TOP 15
a.MemberID, -- 0
a.UserName, -- 1
a.MemberDisplayName, -- 2
a.NYKABizName -- 3
FROM Member a
INNER JOIN AdDisplay b ON b.MemberID = a.MemberID
WHERE a.Claimed = 'Y'
AND a.NYKACatID IS NOT NULL
AND b.LocalPageID = @LocalPageID
AND a.SBIcon = 'N'
AND a.Viewable = 'Y'
AND a.ProfileTypeID <> 1
AND a.PackageType <> 'G'
AND a.PackageType <> 'P'
AND a.PackageType <> 'C'
ORDER BY PackageType ASC
order by (case when MemberId = 102 then 0 else 1 end),
PackageType ASC
SELECT TOP 15
a.MemberID, -- 0
a.UserName, -- 1
a.MemberDisplayName, -- 2
a.NYKABizName -- 3
FROM Member a
INNER JOIN AdDisplay b ON b.MemberID = a.MemberID
LEFT OUTER JOIN LoggedInUsers l ON a.MemberID = l.MemberID
WHERE (a.Claimed = 'Y'
AND a.NYKACatID IS NOT NULL
AND b.LocalPageID = @LocalPageID
AND a.SBIcon = 'N'
AND a.Viewable = 'Y'
AND a.ProfileTypeID <> 1
AND a.PackageType <> 'G'
AND a.PackageType <> 'P'
AND a.PackageType <> 'C')
OR l.MemberID IS NOT NULL
ORDER BY IF(l.MemberID IS NOT NULL,0,1), PackageType ASC
SELECT TOP 15 * FROM (
SELECT
0 as loginStatus,
a.MemberID, -- 0
a.UserName, -- 1
a.MemberDisplayName, -- 2
a.NYKABizName -- 3
FROM Member a
INNER JOIN AdDisplay b
ON b.MemberID = a.MemberID
WHERE a.Claimed = 'Y'
AND a.NYKACatID IS NOT NULL
AND b.LocalPageID = @LocalPageID
AND a.SBIcon = 'N'
AND a.Viewable = 'Y'
AND a.ProfileTypeID <> 1
AND a.PackageType <> 'G'
AND a.PackageType <> 'P'
AND a.PackageType <> 'C'
AND a.MemberID IN (@memberIdList)
UNION
SELECT
1 as loginStatus,
a.MemberID, -- 0
a.UserName, -- 1
a.MemberDisplayName, -- 2
a.NYKABizName -- 3
FROM Member a
INNER JOIN AdDisplay b
ON b.MemberID = a.MemberID
WHERE a.Claimed = 'Y'
AND a.NYKACatID IS NOT NULL
AND b.LocalPageID = @LocalPageID
AND a.SBIcon = 'N'
AND a.Viewable = 'Y'
AND a.ProfileTypeID <> 1
AND a.PackageType <> 'G'
AND a.PackageType <> 'P'
AND a.PackageType <> 'C'
)
ORDER BY loginStatus