首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >比较同一表中相同的列

比较同一表中相同的列
EN

Stack Overflow用户
提问于 2016-11-15 21:48:25
回答 3查看 5.1K关注 0票数 0

如果我在table1中有这样的数据

代码语言:javascript
复制
column1 column2 date
111     00      2016-10-11
111     00      2016-10-11
111     20      2016-10-12
111     20      2016-10-12
222     00      2016-10-11
222     20      2016-10-12
333     20      2016-10-11
333     20      2016-10-12

我想构建一个查询,它只选择333作为重复,因为column1 = column1 (333=333),column2 = column2 (20 = 20)和date <> date (2016-10-11 <> 2016-10-12 )谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-11-15 21:51:04

看来自我加入会有效..。

代码语言:javascript
复制
SELECT T1.*, T2.*
FROM Table1 T1
INNER JOIN table2 T2
 on T1.Column1 = T2.Column1
and T2.column2 = T2.Column2
and T1.Date <> T2.Date

或存在(更快但只访问T1数据)

代码语言:javascript
复制
SELECT T1.*
FROM Table1 T1
WHERE Exists (Select 1 
              from table1 T2 
              where T1.Column1 = T2.Column1
                and T2.column2 = T2.Column2
                and T1.Date <> T2.Date)
票数 2
EN

Stack Overflow用户

发布于 2016-11-15 21:50:58

代码语言:javascript
复制
select column1 from table1 t
join table1 jt
  on t.column1 = jt.column1
  and t.column2 = jt.column2
  and jt.date <> jt.date
票数 1
EN

Stack Overflow用户

发布于 2016-11-15 21:51:38

使用自连接

代码语言:javascript
复制
 select t1.column1
 from my_table t1
 inner join my_table t2
 on t1.column1 = t2.column2
 and t1.ccolumn2 = t2.column2
 and t1.date <> t2.date
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40620304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档