110,534
社区成员
发帖
与我相关
我的任务
分享
select * from A where (A.id in (select top 1 Uid from B where B.typeId=1 order by NEWID()))
Or
(A.id in (select top 2 Uid from B where B.typeId=2 order by NEWID()))
DECLARE @newID NVARCHAR(100)
SET @newID= NEWID()
SELECT *
FROM A
WHERE A.[Id] = ( SELECT TOP 1
B1.Uid
FROM B B1
WHERE B1.TypeId = 1
ORDER BY @newID )
or A.[Id] = ( SELECT TOP 1
B2.Uid
FROM B B2
WHERE B2.TypeId = 1
ORDER BY @newID )
SELECT *
FROM A
WHERE A.[Id] = ( SELECT TOP 1
B1.Uid
FROM B B1
WHERE B1.TypeId = 1
ORDER BY NEWID() )
or A.[Id] = ( SELECT TOP 1
B2.Uid
FROM B B2
WHERE B2.TypeId = 1
ORDER BY NEWID() )
SELECT *
FROM A
WHERE ( A.[Id] = ( SELECT TOP 1
B1.Uid
FROM B B1
WHERE B1.TypeId = 1
ORDER BY NEWID() ) )
OR ( A.[Id] = ( SELECT TOP 1
B2.Uid
FROM B B2
WHERE B2.TypeId = 2
ORDER BY NEWID() ) )