Sql server 我想选择包含值和不包含值的UserId
我有一张桌子 它有两列UserId,MeFr 我想选择包含值123但不包含值456或其他值的UserId 示例表M_InSql server 我想选择包含值和不包含值的UserId,sql-server,Sql Server,我有一张桌子 它有两列UserId,MeFr 我想选择包含值123但不包含值456或其他值的UserId 示例表M_In UserId MeFr ------------ 100 *123* 100 *456* 100 *123* 200 *123* 200 *456* 300 *123* 预期产量 UserId MeFr ------------ 300 *123* 我想用这个方法举例 范例 Select * from
UserId MeFr
------------
100 *123*
100 *456*
100 *123*
200 *123*
200 *456*
300 *123*
预期产量
UserId MeFr
------------
300 *123*
我想用这个方法举例
范例
Select * from
(select i.*,
row_number() over (partition by UserId order by UserId ) as rn
from M_In i
) i
left join
(select o.*,
row_number() over (partition by UserId order by UserId ) as rn
from M_In o
) o on o.UserId = i.UserId
where not EXISTS
使用不存在
SELECT *
FROM M_In m
WHERE m.MeFr = 123
AND NOT EXISTS
(
SELECT *
FROM M_In x
WHERE x.UserId = m.UserId
AND x.MeFr <> 123
)
使用不存在
SELECT *
FROM M_In m
WHERE m.MeFr = 123
AND NOT EXISTS
(
SELECT *
FROM M_In x
WHERE x.UserId = m.UserId
AND x.MeFr <> 123
)
一个简单的连接应该在这里完成这项工作:
SELECT m.*
FROM M_In m
join M_In m1 on m.UserId = m1.UserId
WHERE m.MeFr = 123 and m1.MeFr <> 123
一个简单的连接应该在这里完成这项工作:
SELECT m.*
FROM M_In m
join M_In m1 on m.UserId = m1.UserId
WHERE m.MeFr = 123 and m1.MeFr <> 123
请解释包含值和不包含值的UserId是什么意思。感谢您的回复我想从ID='123'…的表中选择包含值123和不包含值456的UserId或其他值select*?请解释包含值和不包含值的UserId是什么意思。谢谢您的回复要选择包含值123但不包含值456或其他值的用户ID,请从ID='123'的表中选择*。。。?