首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

这个有关问题没人能解决吗?奇怪了

2012-02-04 
这个问题没人能解决吗?奇怪了!idabcde11346NULL2234NULLNULL3123NULLNULL426NULLNULLNULL52345NULL6235NUL

这个问题没人能解决吗?奇怪了!
id             a                   b               c                 d                     e
1               1                   3               4                 6                   NULL
2               2                   3               4                 NULL             NULL
3               1                   2               3                 NULL             NULL
4               2                   6               NULL           NULL             NULL
5               2                   3               4                   5                 NULL
6               2                   3               5                 NULL             NULL
7               1                   2               3                   4                   6
8               1                   3               4                   5                   6
9               1               NULL             NULL           NULL         NULL
是一个表,表名是shiyan。

id       a       b         c
1         1       3         4  
2         1       3         6  
3         1       4         6  
4         2       3         4  
5         3       4         6  
也是一个表,表名是shiYAN,

        要求统计出SHIYAN中每一行的是不在shiyan中有,如果有,就加一,还是以1   3   4为例,看看它是不是在shiyan表中的每一行都存在,只要某一行存在,计数就加一,不用考虑1   3   4   在shiyan中各行的顺序,(不管他们的顺序是1   3   4还是1   4   3,还是4   3   1),只要有就行。1   3   4与shiyan中的第一行比较,然后与第二行比较,...,一直到第九行为之,总共有3次,接下来1   3   6   与shiyan中的第一行比较,然后第二行,...,一直到第九行,依次类推


结果是:
id     a       b       c     个数
1       1       3       4       3
2       1       3       6       3
3       1       4       6       3
4       2       3       4       3
5       3       4       6       3


[解决办法]
http://community.csdn.net/Expert/topic/5300/5300230.xml?temp=7.935733E-02
[解决办法]
select *,
num=(select sum(num) from
(
select
num =
(select count(distinct a) from
(select a union all select b union all select c union all select d union all select e) tmpA
where tmpA.a in(B.a, B.b, B.c)) / 3
from A
) tmp)
from B

热点排行