易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL 拆分字符串

有tb表

id      tags

1        1,2,3
2        1,2
3        1,5,10
4        2,6
5        4,9,15
6        5,8


如果要根据tags 取内容相似度最高的前5条数据,怎么写?
比如我的一条数据的tags是'4,9,15'
那首先查询出上述数据中tags='4,9,15' 然后查询tags包含'4,9'或者'4,15'或者'9,15'  最后查询包含'4' 或 '9' 或 '15' 的
tags最多有5个数字组成.

做个记号。等等回来看 。

额 感觉好复杂啊
可以split(',') 放到一个数组中 然后循环对比


确实挺复杂的
关注一下

换存储结构吧.
要不你得先把tb表中每条数据给split了再把查询数据split,再进行复杂的算法才可以.非常繁琐和浪费资源.
你还不如存成
id      tags

1        1
1        2
1        3
2        1
2        2
这样.这样的话,一句sql语句就能搞定.
select top 5 count(id) as countId where tags in (4,9,15) group by id order by countId
好久不写sql了.没有实际测试.思路是这样.你自己改改吧.

引用
换存储结构吧.
要不你得先把tb表中每条数据给split了再把查询数据sp


相关问答:

sql server 存储过程循环赋值的问题

小弟是个新手 现在有个问题一直不能解决
例如
procedure produce_proc
    @p001 nvarchar(8000),
    @p002 nvarchar(8000),
    @p003 nvarchar(8000),
  & ......

SQL字段,横向展开

请问各位,如何将SQl中,某字段中的值横向展开呢,
CASE WHEN

具体问题具体分析,看你要怎么展开

姓名  科目      成绩
张三  英语    90
李四  英语&nb ......

dbf表导入到sql server2000表问题

请问:
1,如何将一张dbf表导入到sql server2000中的一张表。使用DTS该怎样实现?
2,使用网上代码:
Insert Into Tb_cj Select * from openrowset('MSDASQL','Driver=Microsoft Visual FoxPro D ......

求一SQL语句

原数据

商品    原价    打折方式1  折扣1    打折方式2  折扣2
笔记本  10000  NULL        0      NULL&nb ......

SQL迷惑

CREATE TABLE [Test_xcmtmp] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[subject] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
[Sourc ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号