34,587
社区成员
发帖
与我相关
我的任务
分享
DECLARE @t_table TABLE (userid INT,orderid int)
INSERT INTO @t_table
SELECT 1,1 UNION ALL
SELECT 1,2 UNION ALL
SELECT 1,3 UNION ALL
SELECT 2,1 UNION ALL
SELECT 3,1 UNION ALL
SELECT 4,1 UNION ALL
SELECT 4,3
;with cet123
as
(
select userid from @t_table group by userid
having(count(userid)=1)
)
select a.* from @t_table a, cet123 where a.userid=cet123.userid
-----------------------------------------------------------------------------------
2 1
3 1
DECLARE @t TABLE (userid INT,orderid varchar(10))
INSERT @t
SELECT 1,'A' UNION ALL
SELECT 1,'B' UNION ALL
SELECT 1,'C' UNION ALL
SELECT 2,'A' UNION ALL
SELECT 3,'A' UNION ALL
SELECT 4,'A' UNION ALL
SELECT 4,'C'
--SELECT userid,orderid FROM @t_table
select * FROM @t a
where orderid='a' and
userid = (select userid from @t where userid=a.userid group by userid having count(userid) = 1)
userid orderid
----------- ----------
2 A
3 A
(所影响的行数为 2 行)
DECLARE @t_table TABLE (userid INT,orderid int)
INSERT INTO @t_table
SELECT 1,1 UNION ALL
SELECT 1,2 UNION ALL
SELECT 1,3 UNION ALL
SELECT 2,1 UNION ALL
SELECT 3,1 UNION ALL
SELECT 4,1 UNION ALL
SELECT 4,3
--SELECT userid,orderid FROM @t_table
select a.userid
from @t_table a left join @t_table b
on b.userid = a.userid and a.orderid=1 and b.orderid<>1
where a.orderid=1
and b.userid is null
userid
-----------
2
3
select a.usersid
from t_talbe a left join t_talbe b
on b.usersid = a.usersid and a.orderid=1 and b.orderid<>1
where a,orderid=1
and b.usersid is null
select usersid
from t_talbe a
where orderid=1
and not exists (
select 1
from t_talbe
where usersid = a.usersid
and orderid<>1
)