SQL 查询结果处理问题
表名:Table
结构如下:
id, Title, Content
1, A, nvarchar(max)
2, B, nvarchar(max)
其中Content中存的是以逗号相隔的数字,数字顺序排列,不会重复,单条的数据量非常大,几万级别,格式如下:
1,23,
45,678,
2323,
2615,6325,23232......
32,
45,128,
2323,
2615,2861,13512,16802.......
现在要处理的是:
如何在上面查询到的2个结果中,将Content里面的值相同的数字取出来,并存为以下格式:
45,2323,2615
目前通过查取结果后,通过其他代码将这2个数据分隔成数组,然后进行数组交集处理,但速度不理想,太慢。不知能否通过存储过程快速处理?
------解决方案--------------------这个也基本没有好办法 只能分拆了再合并 效率一样的低下
这个是最初设计的问题 没办法
------解决方案--------------------行拆成列,进行值比对。这个计算量不在少数,结构决定的,没有什么特别的好办法。
------解决方案--------------------
至少在SQL SERVER里面没有什么太好的办法。
------解决方案--------------------这个主要是数据类型是max的,如果用sql server中的substring,或者left 函数进行处理,会有问题。
如果是比较少的,还可以按照都好分拆,然后group by xx having count(*) >= 2 这样来处理