WEB开发网
开发学院数据库MSSQL Server SQL语句中一条常见的行合并问题 阅读

SQL语句中一条常见的行合并问题

 2007-12-07 19:44:54 来源:WEB开发网   
核心提示:问题:原来问题:现有两个表:表一originalwordID word--101 about102 abound103 beard104 boast105 beast表二similarwordID original_id similar_id---1 101 1022 102 1013 103 1054 105 103

问题:原来问题:现有两个表:

表一originalword

ID word

--------------

101 about

102 abound

103 beard

104 boast

105 beast

  表二similarword

ID original_id similar_id

-------------------------------

1 101 102

2 102 101

3 103 105

4 105 103

5 104 105

6 105 104

表originalword和表similarword有关系:

表similarword的original_id是表originalword中的ID

表similarword的similar_id也是表originalword中的ID

第一个表是一个单词表,是源单词

第二个表是由第一个表来的,是形近词的id列表

如表一中的101和102是形近词,则在第二个表中我插入了(101,102)和(102,101)两个记录

103和104分别和105是形近词,则在第二个表中我插入了(103,105)、(105,103)、(104,105)、(105,104)四个记录

想查询出如下的结果:

结果表

请大家帮忙啊,写个查询语句,急!谢谢先!

  回答:

这样的问题一般写个自定义函数,由orig_word 统计similar_word,就可以实现。

来自一朋友叫hxd001_810,使用自定义函数的方法:

用函数解决之。代码如下:

(所影响的行数为 5 行)

从性能分析,个人认为使用自定义函数性能比使用循环语句效率低一点,特别是在处理大量数据时候。

以下是自己写的一个使用循环的方法: 

Tags:SQL 语句 常见

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接