捷于晨 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日

悬赏问题

  • ¥170 如图所示配置eNSP
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥15 键盘指令混乱情况下的启动盘系统重装