2014版本sqlserver中如何实现sql如何将列数据按,分隔后进行inner jion关联
时间: 2024-05-11 13:16:43 浏览: 5
您可以使用SQL Server的函数STRING_SPLIT来将列数据按逗号分隔,然后使用INNER JOIN关键字将两个表进行关联。
示例代码如下:
```
SELECT *
FROM tableA a
INNER JOIN (
SELECT value
FROM STRING_SPLIT('1,2,3,4', ',')
) b ON a.id = b.value
```
其中,tableA是您需要进行关联的表,id是tableA的一个字段,'1,2,3,4'是需要进行分隔的数据,','是分隔符。使用INNER JOIN将a.id和b.value进行关联,即可实现按列数据内连接关联。
相关问题
sqlserver怎么将查询的内容的逗号分割开来放到新的一列
使用 SQL Server 中的字符串函数和子查询,可以将逗号分隔的字符串拆分成单独的值,并将其插入到新的一列中。以下是一个示例代码:
```
SELECT
SUBSTRING(',' + YourColumn + ',', Number + 1, CHARINDEX(',', ',' + YourColumn + ',', Number + 1) - Number - 1) AS SplitColumn
INTO
NewTable
FROM
YourTable
INNER JOIN
master..spt_values ON Type = 'P' AND Number < LEN(YourColumn) AND SUBSTRING(',' + YourColumn + ',', Number, 1) = ','
```
将上述代码中的 "YourColumn" 替换为要进行分割的列名,将 "NewTable" 替换为新建表的名称,运行代码即可将分割结果插入到新表的新列中。
sqlserver查询时逗号分隔字符串
在 SQL Server 中,可以使用内置的 `STRING_SPLIT` 函数将逗号分隔的字符串转换为表格,然后使用 `JOIN` 语句连接表格和其他表格或视图。
例如,假设有一个名为 `list` 的表格,其中包含一个逗号分隔的字符串列 `items`,可以使用以下查询来将其转换为表格:
```sql
SELECT value
FROM STRING_SPLIT(list.items, ',');
```
这将返回一个名为 `value` 的表格,其中包含从 `list.items` 中拆分出的每个值。
如果要将这个表格连接到其他表格或视图,可以使用类似以下的查询:
```sql
SELECT *
FROM list
INNER JOIN (
SELECT value
FROM STRING_SPLIT(list.items, ',')
) items ON items.value = other_table.some_column;
```
其中 `other_table` 是您要连接到的另一个表格或视图,`some_column` 是要连接到的列。