taogunet
老刘307
2020-08-25 18:10
采纳率: 66.7%
浏览 151
已采纳

求MYSQL语句,解决两表查询问题判断A表与B表同一name的num总值是否相等,取出总值不相等的记录。

A 表 结构
ID  name  num
1   小明   20
2   小明   21
3   大明   15
4   大明   13

B 表 结构
ID  name  num
1   小明   18
2   小明   19
3   大明   15
4   大明   13
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • jingluan666
    jingluan666 2020-08-25 18:49
    已采纳
    SELECT * FROM a 
    WHERE a.name NOT IN
    (
     #查总值相等
     SELECT t1.name
     FROM (SELECT NAME, SUM(num) AS num FROM a GROUP BY NAME) t1
     JOIN 
     (SELECT NAME,SUM(num) AS num FROM b GROUP BY NAME) t2 ON t1.name=t2.name AND t1.num=t2.num
    )
    
    点赞 评论
  • caozhy
    select distinct  * from
    ((select A.* from A join B on A.name = B.name where A.num <> B.num)
    union
    (select A.* from B join A on A.name = B.name where A.num <> B.num))
    
    点赞 评论

相关推荐