当前位置: 代码迷 >> Sql Server >> 请个SQL语句,想了半晌没想出来。求高手帮助一下
  详细解决方案

请个SQL语句,想了半晌没想出来。求高手帮助一下

热度:41   发布时间:2016-04-24 09:23:45.0
请个SQL语句,想了半天没想出来。求高手帮助一下。
有如下表。
--------------------------------------------
tag                               sid
A                                      1
B                                      1
A                                      2
B                                     2
C                                     2
A                                     3
B                                     4
E                                     5
F                                     5
--------------------------------------------

现在要匹配SID=1的相同tag按匹配度排序。
如上面的例子.
sid=1 的tag为A和B。
那么记录中存在A或B的,有SID为2,3,4
按顺序列出来,SID=2匹配了两个放第一位
SID=3匹配了一个,放第二,
SID=4匹配了一个,并列第二。

最终要的数据结合为:
------------------------------------------
SID
2
3
4

请问高手这样的SQL语句怎么写法?
------解决思路----------------------
是这个意思吗
SELECT T2.sid
FROM TB T1
JOIN TB T2 ON T1.tag=T2.tag AND T1.sid<>t2.sid
WHERE T1.sid=1
GROUP BY T2.sid
  相关解决方案