问题描述如下:假如有一个表shiyan
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
要求统计出如下结果:
1 3 4 3
1 3 6 3
1 4 6 3
2 3 4 3
3 4 6 3
具体的描述是:以1 3 4 为例,在id=1的时候有,所以计数为1,id=7的时候也包含1 3 4,所以计数再加一,此时计数为2,在id=8的时候也包含1 3 4,所以计数再加1,此时的计数总数为3,也就是说,只要某一行里面包含1 3 4,计数就加1,不管顺序如何,只要某一行同时包含1 3 4这三个数,(不管他们的顺序是1 3 4还是1 4 3,还是4 3 1)它的计数就加一,最后要求显示出计数大于等于3的,也就是
1 3 4 3
1 3 6 3
1 4 6 3
2 3 4 3
3 4 6 3
请高手帮忙解决一下,用sql语句实现。
小弟我非常感激!

解决方案 »

  1.   

    也就是说:
    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与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
      

  2.   

    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与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