日期:2014-05-16  浏览次数:20711 次

请教一条查询的sql语句
一个表有三列数据
 Type            A                        B
     1      70210001    70210003
      0     70120002    72230002 
      0     71340001    72220003
      1     73320003    72230002
       0     73330002    70210001
       1      70210001     73220001
       0     73330003      70210001
 现在要求查找包含“0001”的数据,且当type=1时,查询A列,当type=0时,查询B列,且除去相同结果(如果A列中的数和B列中的相同,也要去重)
 我写的where ( A like '% 0001%' and  Type = 1 ) or (  B like '% 0001%' and  Type = 0 ) group by A , B
这样的结果  还是有两条数据,不能把A列和B列中相同的去重.........
------解决方案--------------------
引用:
Quote: 引用:

Quote: 引用:

一个表有三列数据
 Type            A                        B
     1      70210001    70210003
      0     70120002    72230002 
      0     71340001    72220003
      1     73320003    72230002
       0     73330002    70210001
       1      70210001     73220001
       0     73330003      70210001
 现在要求查找包含“0001”的数据,且当type=1时,查询A列,当type=0时,查询B列,且除去相同结果(如果A列中的数和B列中的相同,也要去重)
 我写的where ( A like '% 0001%' and  Type = 1 ) or (  B like '% 0001%' and  Type = 0 ) group by A , B
这样的结果  还是有两条数据,不能把A列和B列中相同的去重.........

这样查出来的结果是  
1           70210001    70210003
0           73330002    70210001   
有两条结果  但是我只想要一条70210001的结果

请大家原谅我表达能力太差了
 Type            A                        B
     1      70210001&