捷于晨 2022-03-15 23:16 采纳率: 100%
浏览 31
已结题

请教MySql多表查询统计的相关问题

现在有两张表,表1和表2
表1 是主表,其中记录着主要数据,表一的主键为 id
表2 是从表,其中多条记录对应着一条表1 的记录, 关联外键为 t1_id

x代表有数据,null为空值, 字段下无值代表为空字符串

1
================================
id    data1     data2     data3    data4  ....
1      x1           x2          x3        x4
2      x5            x6         x7        x8
3      ......
4      ......
2
================================
id     t1_id     data1     data2     data3     ....
1      1            x11        x22         null
2      1            x33        x44         null
3      1            x55        x66        
4      2            x77        x88         null
5      2            x99        x00      
6      2            x12        x23         null
7      3            x45        x67         
8      3            x32        xx4         xxx
9      3            x78        x90         null
10    4            x87        x67         null

表2中 data3列包含 null值 和 空字符串,我现在想得到的结果是表1的全部数据,以及 对应 表2中data3列是否含有不为null或空字符串的标志

也就是说,表2 的data3列,只要有不为null并且不是空字符串的,这个标志就是 true,否则就是false

针对以上例子,想要的结果是



================================
id    flag       data1     data2     data3    data4  ....
1     false     数据1        xxx        xxx        xxx
2     false      xxx        xxx        xxx        xxx
3     true       xxx        xxx        xxx        xxx
4     false      xxx        xxx        xxx        xxx

本人不才,试了很多办法,都没成功,望各位导师指点迷津!

  • 写回答

1条回答 默认 最新

  • 三千烦恼丝xzh 2022-03-16 07:10
    关注

    select 子查询思路,如果子查询报错就把case when放到外面,里面只计算count返回一行一列

    
    select a.* ,  (select case when count(data3) > 0 then true else false end as flag from table2 where t1_id = a.id and  data3 is not null and data != '' ) as flag from table1 as a
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月24日
  • 已采纳回答 3月16日
  • 创建了问题 3月15日

悬赏问题

  • ¥15 单纯型python实现编译报错
  • ¥15 c++2013读写oracle
  • ¥15 c++ gmssl sm2验签demo
  • ¥15 关于模的完全剩余系(关键词-数学方法)
  • ¥15 有没有人懂这个博图程序怎么写,还要跟SFB连接,真的不会,求帮助
  • ¥15 PVE8.2.7无法成功使用a5000的vGPU,什么原因
  • ¥15 is not in the mmseg::model registry。报错,模型注册表找不到自定义模块。
  • ¥15 安装quartus II18.1时弹出此error,怎么解决?
  • ¥15 keil官网下载psn序列号在哪
  • ¥15 想用adb命令做一个通话软件,播放录音