亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求一條sql語句

求一條sql語句

牛魔王的故事 2018-12-07 05:46:33
表A 有字段 ID username pric 1 xiaoli 5 2 xiaozhang 2 3 xiaowang 5 表B 有字段 ID username userni 1 xiaoli xiaozhang 2 xiaoli xiaoli 3 xiaoli xiaozhang 4 xiaozhang xiaowang 5 xiaozhang xiaowang 表A 與表B之間的對應關系 表A 的username 字段 同時對應表B的username 和 userni 兩個字段 首先 例如我根據條件 username等于"xiaozhang"或著userni 等于"xiaozhang"的時候 我取表B的 count值 根據上面列舉條件 表B的count值為4 現在我要查詢出表A中 pric 的值減去表B中count值為1的值 但是現在表B中的結果可能不只一條 可能 count值等于4的結果有N條, 表A中每條記錄的pric的值是不一樣的 表B中count的值每個用戶也是不一樣的 我要查詢出的結果是 表A中每條記錄的pric 減去 表B 中count值等于1的結果集合 我要查詢出表A中滿足條件的全部數據 該怎么查呢我這個查詢該怎么寫呢
查看完整描述

1 回答

?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

DECLARE @a TABLE(id INT ,aname VARCHAR(1),pric INT )
DECLARE @b TABLE(id INT ,aname VARCHAR(1),bname VARCHAR(1))

INSERT INTO @a VALUES(1,'a',5)
INSERT INTO @a VALUES(2,'b',2)
INSERT INTO @a VALUES(3,'c',5)
INSERT INTO @b VALUES(1,'a','b')
INSERT INTO @b VALUES(2,'a','a')
INSERT INTO @b VALUES(3,'a','b')
INSERT INTO @b VALUES(4,'b','c')
INSERT INTO @b VALUES(5,'b','c')
SELECT * FROM @a
SELECT * FROM @b
--以上是初始化數據

--下面是答案
SELECT [@a].* FROM @a
INNER JOIN (
SELECT [@a].aname,COUNT([@a].id) AS countName FROM @a
INNER JOIN @b ON [@a].aname = [@b].aname OR [@a].aname = [@b].bname
GROUP BY [@a].aname
)t ON t.aname=[@a].aname
WHERE [@a].pric - t.countName=1

不知道是不是你想要的答案

查看完整回答
反對 回復 2019-01-21
  • 1 回答
  • 0 關注
  • 326 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號