【SQLSERVER】处理一对多标签的语法糖
数据库表设计的时候,经常会出现一对多的情况,比如标签、明细之类的。
有时,需要在一个查询中,将每个主体的所有标签在一个字段中展示出来,这个时候就可以用 FOR XML PATH 这个语法轻易的实现。
示例代码:
-- 人物 CREATE TABLE man( id INT NOT NULL DEFAULT 0, name NVARCHAR(50) NOT NULL DEFAULT '' ) INSERT INTO man(id,name) VALUES(1,'肥仔'),(2,'阿呆'),(3,'小新')--人物-标签 CREATE TABLE man_ontag( id INT NOT NULL DEFAULT 0, tag NVARCHAR(50) NOT NULL DEFAULT '' ) INSERT INTO man_ontag(id,tag) VALUES(1,'帅气'),(1,'搞笑'),(1,'幽默'),(2,'帅气'),(2,'搞笑'),(3,'帅气')SELECT * FROM man SELECT * FROM man_ontagSELECT a.id,a.name,STUFF((SELECT '、'+ tg.tag FROM dbo.man_ontag tg WHERE a.id= tg.id FOR XML PATH('')),1,1,'') AS tags,STUFF((SELECT ' | '+ tg.tag FROM dbo.man_ontag tg WHERE a.id= tg.id FOR XML PATH('')),1,3,'') AS tags2 FROM man aDROP TABLE man DROP TABLE man_ontag
效果:
转载于:https://www.cnblogs.com/TurboWay/p/9360775.html
【SQLSERVER】处理一对多标签的语法糖相关推荐
- Android学习-Kotlin语言入门-变量、函数、语法糖、when、for-in、主构造函数、单例类、函数式API、集合遍历、隐式Intent、Activity生命周期、四种启动模式、标准函数
探究java语言的运行机制 变量.函数.语法糖 when条件语句 for循环 主构造函数.次构造函数 数据类和单例类 集合的创建与遍历 集合的函数式API 创建菜单 隐式使用Intent Activi ...
- python getattr_详解 Python 的二元算术运算,为什么说减法只是语法糖?
原题 | Unravelling binary arithmetic operations in Python 作者 | Brett Cannon 译者 | 豌豆花下猫("Python猫&q ...
- 三、Vue组件化开发学习笔记——组件化的基本步骤、全局组件和局部组件、父组件和子组件、注册组件的语法糖、模板分离写法、组件的数据存放
一.什么是组件化? 人面对复杂问题的处理方式: 任何一个人处理信息的逻辑能力都是有限的 所以,当面对一个非常复杂的问题时,我们不太可能一次性搞定一大堆的内容. 但是,我们人有一种天生的能力,就是将问题 ...
- vue3 setup写法(语法糖版本)
vue3.2 版本开始才能使用语法糖! 在 Vue3.0 中变量必须 return 出来, template 中才能使用:而在 Vue3.2 中只需要在 script 标签上加上 setup 属性,无 ...
- vue3 setup语法糖与原始写法对比
只需在script标签中添加setup,组件只需引入不用注册,属性和方法也不用返回,也不用写setup函数,也不用写export default ,甚至是自定义指令也可以在我们的template中自动 ...
- vue3+ts+setup语法糖
1.setup语法糖简介 直接在script标签中添加setup属性就可以直接使用setup语法糖了. 使用setup语法糖后,不用写setup函数:组件只需要引入不需要注册:属性和方法也不需要再返回 ...
- uniapp开发:uniapp快速体验vue3.2之setup语法糖,怎么使用怎么爽
目录 概要 拉开序幕的setup语法糖 生命周期钩子 ref函数与reactive函数对比 computed计算属性 监视(watch.watchEffect) 组件注册 组件传值 provide/i ...
- vue3 setup 语法糖的项目实战用法
vue3.2 之后语法糖 起初 Vue3.0 暴露变量必须 return 出来,template中才能使用: 这样会导致在页面上变量会出现很多次. 很不友好,vue3.2只需在script标签中添加s ...
- Vue3.2(语法糖写法) 入门推荐
前言:距vue3.2发布已一年有余,3.2新增的setup的语法糖写法 作为紧跟时代的前端开发者是必须要会的,多一项技能也就多一项能在时代洪流中争渡的本钱,本文主要是介绍一些vue3.2日常中用到的比 ...
最新文章
- 【Java】身份证号码验证
- 这个图片转文字功能搞一下?还好这个开源项目救了我!
- 存在就不插入_DOM 插入节点和三个Child方法
- linux resolv.conf详解
- docker学习笔记-为容器配置重启策略
- jquery 过滤html代码,jquery – 如何使指令使用过滤的HTML属性?
- 链接克隆 完整克隆_深入克隆
- P5714 【深基3.例7】肥胖问题--python3实现
- Vue动态设置Style属性
- nginx RTMP FFmpeg 视频直播
- QQ淘宝自动转链转发机器人MkStone京东淘宝转链助手
- 土地调查图斑编号_全国第二次土地调查地类分类图示及图斑.doc
- 【扩频通信】第五章 扩频信号解扩和解调
- 你还不知道Java异或运算符的妙用?
- 机器学习与数据挖掘之决策树
- 结构化思维(Structured Thinking)
- Cookie.js 源码解析
- 日常一些办公软件问题
- 【报错总结】无法连接Hive的MetaStore数据库
- js的slice,splice,split的使用
热门文章
- 如何查看磁盘分区情况
- cesium加载批量模型
- 计算机组装报告目录,计算机组装实验报告(共9篇).doc
- linux卸载文件系统什么意思,Linux文件系统的安装和卸载
- spring无法连接mysql_初学Spring——连接MySQL数据库的问题和解决
- seafile Windows MySQL_seafile4.3.1 + windows 2012 server +mysql 部署记录(3)
- php 2个时间查询差几天,PHP怎么计算2个日期差
- c语言 int a 5,在C语言中,有如下的写法:int a = 5; int *pa; pa = (a + 1);
- 杨凌职业技术学院计算机专业宿舍,杨凌职业技术学院宿舍条件,宿舍图片和环境空调及分配方法...
- c语言上机实验作业答案,第十二次C语言上机实验参考答案