具有重复值的SQL Server查询
我有一个查找表a和一个存储实际值的表B。我面临的问题是表B可以存储多个值,这些值以逗号分隔 因此,如果表A有例如2列:具有重复值的SQL Server查询,sql,sql-server,Sql,Sql Server,我有一个查找表a和一个存储实际值的表B。我面临的问题是表B可以存储多个值,这些值以逗号分隔 因此,如果表A有例如2列: Code Value ------------ 1 Dog 2 Cat 3 Bird 4 Bear …表B可以有如下内容: Record # Code -------------------- 1 2 2 3,4 3 1,4 4 3 5
Code Value
------------
1 Dog
2 Cat
3 Bird
4 Bear
…表B可以有如下内容:
Record # Code
--------------------
1 2
2 3,4
3 1,4
4 3
5 1,2,3,4
Record # Code Value
-------------------------------------
1 2 Cat
2 3 Bird
2 4 Bear
3 1 Dog
3 4 Bear
4 3 Bird
5 1 Dog
5 2 Cat
5 3 Bird
5 4 Bear
当我循环表B时,我希望我的输出如下所示:
Record # Code
--------------------
1 2
2 3,4
3 1,4
4 3
5 1,2,3,4
Record # Code Value
-------------------------------------
1 2 Cat
2 3 Bird
2 4 Bear
3 1 Dog
3 4 Bear
4 3 Bird
5 1 Dog
5 2 Cat
5 3 Bird
5 4 Bear
换句话说,我希望表B中的记录返回的逗号分隔值是表a中逗号分隔值的两倍
实现这一目标的最佳和最有效的方法是什么
蒂亚,
-TS.如果您没有或想要一个拆分/解析函数,这里有一个内嵌的方法 范例 返回
您需要包含DBMS类型和列类型的标记。是否有机会重构或规范化您的表设计?Hi@BShaps the TableA.Code=integer and TableB.Code=varcharHi@Philip,很遗憾,我现在无法规范化该表。什么是DBMS?MySql、Postgres等。