有一个表,我想判断这个表里面某几列的值,和其所属列里面得值是否完全一致,除了循环该列里面所有得值外,有没有更好的方法?例:
   判断tel和adres是否完全一致name tel  adres  ...
 a   010   test  ...
 b   010   test  ...
 c   010   test  ...retun true;1,只有这一种情况返回真;
2,如果只有一列完全相同,则把该列的信息提取出来呢?

解决方案 »

  1.   

    select count(distinct(tel) from 表如果返回 =1 说明一样,否则 不一样,不知道这样是不是满足你的意思了
      

  2.   

    你这么写:
    select * from test where not exists (select distinct(tel)from test);
    union
    select * from test where not exists (select distinct(adres)from test);
      

  3.   

    。不好意思,是我表达有问题这里指的表并不是数据库的表,而是一个数据结构也就是说是用java来实现,而不是SQL...
      

  4.   

    优雅一点就是搞个派生类,同时覆盖(Override) Object.equals 方法,也要覆盖 Object.hashCode方法.
      

  5.   

    sorry,没注意不是两个实例.
        //重复元素将被筛掉
        Set set = new HashSet(Arrays.asList(array));
    然后比较set的size和array的length就可以了.
    数组元素全相同再做一个标记...
      

  6.   

    import java.util.HashSet;
    import java.util.Arrays;
    import java.util.Set;
    import java.util.List;
    import java.util.ArrayList;public class Test2 { public static boolean IsArrayElementSame(java.lang.Object[] array) {
    Set set = new HashSet(Arrays.asList(array));
    return set.size() == 1;
    } public static boolean IsSame(String[] arg0, String[] arg1, String[] arg2) {
    int iCount = 0;
    List list = new ArrayList();
    if (IsArrayElementSame(arg0))
    list.add(arg0);
    if (IsArrayElementSame(arg1)) {
    iCount++;
    list.add(arg1);
    }
    if (IsArrayElementSame(arg2)) {
    iCount++;
    list.add(arg2);
    }
    if (list.size() == 1) {
    String[] abc = (String[]) list.get(0);
    for (int i = 0; i < abc.length; i++)
    System.out.println(abc[i]);
    }
    if ((iCount >= 2) || (list.size() != 1))
    return true;
    else
    return false;
    } public static void main(String[] args) {
    // TODO Auto-generated method stub
    String[] array1 = { "1", "1", "2" };
    String[] array2 = { "abc", "abc", "abc" };
    String[] array3 = { "123", "123", "abcd" };
    System.out.println(IsSame(array1, array2, array3));
    }}