2017-06-16 106 views
2

我是SQL新手,所以这花了我很长一段时间,却没能弄明白。 我的表看起来像这样:在不同列上选择具有不同值的行

+------+------+------+ 
|ID |2016 | 2017 | 
+------+------+------+ 
|1  |A  |A  | 
+------+------+------+ 
|2  |A  |B  | 
+------+------+------+ 
|3  |B  |B  | 
+------+------+------+ 
|4  |B  |C  | 
+------+------+------+ 

我想有只已自2016年改为2017年的行:

+------+------+------+ 
|ID |2016 | 2017 | 
+------+------+------+ 
|2  |A  |B  | 
+------+------+------+ 
|4  |B  |C  | 
+------+------+------+ 

能否请你帮忙吗?

+0

这个问题有一个已经贴在下面一个非常基本的SQL解决方案。但是,为了清楚起见,您使用的是哪个数据库客户端? – SandPiper

+0

Oracle EssBase。 –

+0

仅供参考 - 我更新了问题以删除Essbase标签。你可能在你的环境中有Essbase,但这实际上是关系数据库(SQL Server,Oracle关系)方面的东西 – jwj

回答

3

select * from mytable where column_2016<>column_2017 假设你列标签是column_2016和column_2017