`
shixiuteng
  • 浏览: 40123 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

sql 列拆分

    博客分类:
  • sql
阅读更多

A 表

id    B_id

1    1,2,3

2    2,3

 

B表

B_id name

1    aa

2    bb

3    cc

4    dd

 

我要得到 A、B两表关联的结果。

 当A表id=1时

得到

id   B_id  name

1     1       aa

1     2       bb

1     3       cc

 

select distinct a.*,c.name from (
select a.id, substring(a.[b_id],b.number,charindex(',',a.[b_id] + ',',b.number)-b.number) as b_id
FROM table1 a,master..spt_values b
WHERE  b.type='p'and substring(',' + a.[b_id],b.number, 1)=','
)a left join table2 c on a.b_id=c.b_id

分享到:
评论

相关推荐

    sql2000数据拆分

    根据提供的信息,我们可以详细探讨如何在SQL Server 2000环境中实现数据拆分功能。具体来说,就是如何将一个包含逗号分隔值的字段拆分成多行记录。 ### SQL Server 2000 数据拆分技术 #### 1. **背景与目标** - *...

    SQL 将一列拆分成多列的三种方法

    在SQL中,有时候我们需要将一个单一的列拆分为多个列,以便更好地管理和分析数据。本文将详细介绍三种在SQL中实现这一目标的方法,并提供相应的代码示例。这些方法适用于不同的数据库系统,例如MySQL、SQL Server、...

    SQL SERVER 根据关键字符,将一列分成多行

    可根据关键字符将一列分成多行显示,例如 A B 1 1.1.2 拆分成 1 1 1 1 1 2 进行相关的显示

    oracle sql 某列的值按照逗号分割显示成多行.sql

    oracle 某列存儲的值是有逗號的字符串,希望通過逗號分隔開來顯示多行。sql,有預期結果,有項目實戰。

    Sql Server数据把列根据指定内容拆分数据的方法实例

    它将数据列拆分为多行,使每个分隔的部分成为一个独立的记录,从而简化了后续的数据操作。虽然XML类型和`outer apply`可能在初次接触时显得复杂,但它们对于处理这类数据非常有效。 理解这个方法后,你就能更好地...

    016按任意列拆分方法二共1页.pdf.zip

    很抱歉,根据您提供的信息,"016按任意列拆分方法二共1页.pdf.zip" 和 "赚钱项目" 这些内容似乎并不直接对应一个详细的IT知识点。标题和描述可能指的是某个教学材料或教程,但没有足够的信息来生成一篇超过1000字的...

    SQL,逗号分开列

    将表中,一个复杂的列,拆成单独的列,更方便筛选和匹配。

    sql2000字符串分割,字符串拆分

    输出结果中,“id”列表示每个子字符串在原字符串中的起始位置,“vs”列则是拆分得到的具体子字符串。 #### 总结 通过上述代码示例,我们可以清晰地了解到如何在SQL Server 2000中实现字符串的拆分功能。这种方法...

    SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据.docx

    SQL 字符串分割函数实现多行数据转换 在数据库中,经常会遇到将一个字段中的特殊字符分割的字符串转换成多行数据的情况。这是一个常见的需求,但是网上提供的解决方案往往非常复杂,难以理解和实现。为了解决这个...

    sqlserver 字符串分割、包含、匹配

    1、按特定的分隔符号,确定数组长度 2、按指定符号分割字符串,返回“分割后指定索引的第几个元素”的值,象数组一样方便 3、检查一个元素是否在数组中,返回1或0 4、检查一个元素是否与数组中的相匹配,并返回相...

    拆分数据库中某列某行的数据,大量处理

    本文将深入探讨如何在三层架构中拆分数据库中的某列某行数据,并根据任意字符进行拆分和更新,以实现高效的数据处理。 首先,让我们理解什么是三层架构。三层架构是一种常见的软件设计模式,它将应用分为三个主要...

    sql 行专列 列转行 普通行列转换

    这通常涉及到将一列的数据拆分成多行,或者将多行数据合并为一列。这种操作在数据分析、报表生成以及数据清洗过程中非常常见。在SQL Server中,我们可以利用各种函数和技巧来实现这种转换。以下将详细探讨如何在SQL ...

    SQL Server 视图的创建,删除列和增加列;

    在SQL Server中,视图(View)是一种虚拟表,它是由一个或多个表或视图的SELECT查询结果组成。视图并不存储数据,而是提供了一种抽象的数据访问方式,允许用户以一种简化或者定制的方式查看数据库中的数据。视图可以...

    SQL Server 查询两个日期之间的所有月份

    代码的核心部分在于创建一个动态SQL语句,利用`master.dbo.spt_values`系统表中的数字列生成日期范围。`spt_values`表包含一系列连续的整数值,可以用来模拟一系列的月份。在这里,我们筛选出类型为'p'的行,因为...

    SQLServer数据库表中数据导出成SQL语句工具

    由于SQL Server可能有长度限制,所以大型表的数据导出可能会被拆分成多条INSERT语句,以确保导入时不会超出单条语句的最大允许长度。 3. **MHT格式**:选择MHT格式是为了方便存储和分发这些SQL语句。MHT文件是一个...

    SqlServer下通过XML拆分字符串的方法

    在SQL Server中,有时我们需要将一个包含多个值的单个字符串拆分成多个行,以便能够对每个值进行单独处理。这种需求在处理如逗号分隔的列表时尤为常见。XML提供了一种灵活且有效的方式来实现这个目的。本文将详细...

    关于SQL SERVER 数据库中列转行的研究.docx

    这种操作通常被称为“列转行”,即从单个列中拆分出多个值,并将每个值作为单独的行存储。例如,如果有一个列存储了多个以逗号分隔的值(如`value1,value2,value3`),则希望将其转换为多行数据: | ID | value | |...

Global site tag (gtag.js) - Google Analytics