当前位置: 首页 > news >正文

46.SQLserver中按照多条件分组:查询每个地方的各种水果的种植数量,新增时,一个地方同时有几种水果,只插入一条记录,同时多种水果之间使用|隔开

1.SQLserver中按照多条件分组

,分组条件包括(一个字段使用|进行分割,如:apple|orange,查询时,apple和orange分别对应一条数据)
例如:SQL如下:

SELECT FROM (
SELECT CDFBM '地方编码', CDFMCC '地方名称',  COUNT(CXXID) '种植数量' 
(CASE CSGMC WHEN '001' THEN '苹果' WHEN '002' THEN '李子' WHEN '003' THEN '香蕉' WHEN '004' THEN '梨' WHEN '005' THEN '葡萄' WHEN '006' THEN '蓝莓' WHEN '007' THEN '荔枝' ELSE value END)  '水果类型'
FROM (
SELECT A.IBRJBXXID, A.CJMXXID, D.CXZBM, D.CXZMC, value 
FROM YHPHS..TB_MBGL_HZXX A WITH(NOLOCK) 
INNER JOIN YHPHS.dbo.TB_JGXX D WITH(NOLOCK)ON A.CCJJGBM=D.CJGBM
CROSS APPLY STRING_SPLIT(A.CBRLX, '|')
WHERE CZT=1--  AND value='007'
) B 
GROUP BY CSGMC , CDFBM , CDFMCC
)C
GROUP BY  CSGMC , CDFBM , CDFMCC


2.Cross apply的作用:

无关联条件强制表之间关联

apply有两种形式: cross apply 和 outer apply

区别在于指定OUTER,意味着结果集中将包含使右表表达式为空的左表表达式中的行,

而指定CROSS,则相反,结果集中不包含使右表表达式为空的左表表达式中的行。

零、cross apply的原理:
<left_table>  {cross|outer} apply <right_table>

它是先得出右表里的数据,然后把此数据一条一条的放入左表表式中,分别得出结果集,最后把结果集整合到一起就是最终的返回结果集了

详解:(拆分后的数据 ,像for循环一样 ,一条一条的进入到left表中, 然后返回一个集合 ,最后把所有的集合整合到一块  就是最终的结果)

http://www.lryc.cn/news/366747.html

相关文章:

  • C盘满了怎么办,Windows11的C盘没有磁盘清理选项怎么办,一次搞定
  • 「动态规划」当小偷改行去当按摩师,会发生什么?
  • Python | 排队取奶茶
  • mysql当前状态分析(show status)
  • Google Earth Engine(GEE)——使用机器学习进行金三角大米分布图
  • MyBatis一级和二级缓存介绍
  • PowerDesigner遍历导出所有表结构到Excel
  • JavaSE——抽象类和接口
  • 生成式人工智能 - stable diffusion web-ui安装教程
  • 11-Linux文件系统与日志分析
  • mac M1下安装PySide2
  • 超详解——识别None——小白篇
  • C++的MQTT开发:使用Paho的C++接口实现消息发布、订阅、连接RabbitMQ
  • 深度网络学习笔记(二)——Transformer架构详解(包括多头自注意力机制)
  • Python 快速查找并替换Excel中的数据
  • KafkaStream Local Store和Global Store区别和用法
  • PowerDesigner导入Excel模板生成数据表
  • STM32 HAL库开发——入门篇(3):OLED、LCD
  • 在Linux中查找文件命令的几种方法
  • 【TB作品】MSP430F5529 单片机,温度控制系统,DS18B20,使用MSP430实现的智能温度控制系统
  • 立创小tips
  • Html/HTML5常用标签的学习
  • Tomcat 配置:一文掌握所有要点
  • git 大文件上传失败 Please remove the file from history and try again.
  • 骑砍2霸主MOD开发(14)-进击的巨人
  • Android 可拖拽的View,限制在父布局中随意拖拽;拖拽结束后可左右吸边;
  • 逐步更新动画混合参数(Blend)使其平滑地过渡到目标值
  • 【多模态/CV】图像数据增强数据分析和处理
  • 代码随想录——修建二叉搜素树(Leetcode669)
  • EasyExcel导出多个sheet封装