我在sql表中有一堆列,我想将该表的每个字段插入到临时表中,其中一组列是不同。换句话说,假设我有一个列a,b,c,d,e,f和g的表格。我如何选择a,b和c不同的每一行?如何在SQL Server 2008 r2中选择其中一组不同列的所有列r2
-1
A
回答
1
假设你有没有NULL
值,你只想做逻辑where
子句中:
select t.*
from table t
where a <> b and a <> c and b <> c;
编辑:
为了您的修改问题,解决方案可能是:
select t.*
from (select t.*, count(*) over (partition by a, b, c) as cnt
from table t
) t
where cnt = 1;
+0
+1它应该工作,但'数字与字符串'比较失败?在一般交叉数据类型.. – 2014-10-27 20:38:03
+0
这不是我想要的。我的意思是,我有列a-g,并且我希望集合a,b,c不同于其他a,b,c集合的每一行 – 2014-10-27 20:45:26
1
鉴于戈登的回答,我相信这应该适合你:
select *
from table as main
inner join (
select a, b, c, count(*)
from table
group by a, b, c
having count(*) = 1
) as sub
on main.a = sub.a
and main.b = sub.b
and main.c = sub.c
0
您可以使用COUNT(),通过a,b和c进行分区;
WITH cte AS (
SELECT *, COUNT(1) OVER (PARTITION BY a, b, c) cnt FROM mytable
)
SELECT a, b, c, d, e, f, g FROM cte WHERE cnt=1;
这将 - 对每一行 - 计数具有相同的A/B/C组合的行数,并返回是“唯一”的全部行(即,具有一个的计数)
0
所以最后,修复很简单。
select a, b, c, max(d) as d, max(e) as e, ...... max(g) as g into #temp
from MyTable
group by a, b, c
相关问题
- 1. SQL Server 2008 R2中的散列表
- 2. 不能在SQL Server 2008 R2
- 3. SQL Server 2008 R2 - 选择分层数据
- 4. 使用SQL PIVOT行列... SQL Server 2008 R2
- 5. 如何在sql server 2008 R2中使用IF条件进行列选择
- 6. SQLDependency SQL Server 2008 R2
- 7. SQL Server 2008 R2 OBJECT_ID
- 8. 如何在SQL Server 2008 R2中存储散列密码
- 9. 如何从SQL Server 2008 R2中选择大数据?
- 10. 如何自定义SQL Server 2008 R2中的参数窗格r2
- 11. sql server 2008 r2 - 条件伪列
- 12. SQL Server 2008 R2触发器标识列
- 13. 如何计算SQL Server 2008 R2中列的运行总数?
- 14. 在sql server 2008 r2中,连接两列而不创建表
- 15. 从SQL Server 2008 R2 Express升级到SQL Server 2008 R2企业
- 16. 在SQL Server 2008 r2中执行Sql作业r2
- 17. PATINDEX在SQL Server 2008 R2
- 18. 如何使用一个表中的列到另一个在SQL Server 2008 R2
- 19. 如何在SQL 2008 R2的表中创建一个AutoCounter列?
- 20. 如何转换行到列单选择查询的SQL Server 2008 R2
- 21. 的connectionString为SQL Server 2008 R2
- 22. 检测SQL Server 2008 R2的
- 23. SQL Server 2008 R2的MDX GETDATE()
- 24. SQL Server 2008 R2的性能
- 25. 在SQL Server 2008 R2中计数行
- 26. 在SQL Server 2008 R2中获取时区
- 27. 在SQL 2008 Server R2中切换案例
- 28. 在SQL Server 2008 R2中构建类别
- 29. 在SQL Server 2008 R2中自动注销
- 30. 在SQL Server 2008 R2中更新表的XML列
您正在使用哪些DBMS? Postgres的?甲骨文? (“SQL”是**不是** DBMS产品,它是查询语言) – 2014-10-27 20:31:06
不同于什么?彼此还是与其他所有行相比? – 2014-10-27 20:32:03
根据“distinct”的含义:可能是'distinct'关键字,适当的'group by'语句或适当的where语句将涵盖您。 – Conduit 2014-10-27 20:36:28