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

悬赏问题

  • ¥30 求一下解题思路,完全不懂。
  • ¥30 关于#硬件工程#的问题:求一下解题思路
  • ¥15 运筹学对偶单纯行法构造扩充问题
  • ¥20 XP系统的老电脑一开机就提示找不到rundll.exe,付费求解
  • ¥15 milvus查询出来的score怎么转换成0-1之间的相似性
  • ¥15 多ip服务器站群如何搭建l2tp服务器
  • ¥15 lvgl V9移植到linux开发板
  • ¥15 VB.net中在窗体中创建一个button控件来关闭窗体,但是提示错误,我该怎么办
  • ¥15 网上下载好的程序但是arduinoIDE编程报错,运行不了,哪里出错了,能具体给改一下吗
  • ¥15 Sharepoint JS开发 付费技术指导