自己做社交网站,网站建设合同书,网页设计导航栏素材,帝国cms企业网站模板1.SQLserver中按照多条件分组
#xff0c;分组条件包括#xff08;一个字段使用|进行分割#xff0c;如#xff1a;apple|orange,查询时#xff0c;apple和orange分别对应一条数据#xff09; 例如#xff1a;SQL如下#xff1a;
SELECT FROM (
SELECT CDFBM 地方编码…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.CCJJGBMD.CJGBM
CROSS APPLY STRING_SPLIT(A.CBRLX, |)
WHERE CZT1-- AND value007
) 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表中 然后返回一个集合 最后把所有的集合整合到一块 就是最终的结果