12 回答

TA貢獻(xiàn)1863條經(jīng)驗(yàn) 獲得超2個(gè)贊
select unamefrom dbo.UserInfowhere uid in ( select uid from (select count(1) as pcount,uid ?from (select distinct uid,pid from Buyinfo) a group by uid) b inner join (select count(1) as pcount from Product) c on c.pcount = b.pcount)?

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超3個(gè)贊
Raycloud:是查詢,一個(gè)客戶買了那些產(chǎn)品,把每個(gè)產(chǎn)品列出來對嗎?

TA貢獻(xiàn)1725條經(jīng)驗(yàn) 獲得超8個(gè)贊
提供個(gè)思路:
?? 1) 將購買信息表根據(jù)Uid進(jìn)行分組,同時(shí)去除重復(fù)購買信息
?? 2) 將上述結(jié)果Count下和產(chǎn)品表的Count對比,相等則說明用戶購買了所有商品
?? 3) 最后將用戶信息表的uid和第二步結(jié)果的uid對比
select u.uid from UserInfo as u where u.uid = (select uid from? buyinfo as b where uid=(select top 1 uid from buyinfo where uid=b.uid) group by uid having Count(uid)= (select Count(pid) from product))

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊
但是你的語句有問題
最后綜合了
select uname from UserInfo u join(
select uid from (select uid,pid from Buyinfo group by uid,pid)a group by uid having count(pid)=(select count(1)from Product))tu
on u.uid=tu.uid

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
看看我這個(gè)
? SELECT u.uid '用戶id',u.uname '用戶' FROM userinfo u
INNER JOIN
???(SELECT uid? FROM buyinfo
???GROUP BY? uid
???HAVING COUNT(DISTINCT pid)=(SELECT COUNT(pid)from product)) AS f
ON u.uid=f.uid
- 12 回答
- 0 關(guān)注
- 700 瀏覽
添加回答
舉報(bào)