选择不同的列,SELECT DISTINCT在两列中返回相同的值

选择不同的列,SELECT DISTINCT在两列中返回相同的值,select,sql-server-2008-r2,Select,Sql Server 2008 R2,-所有栏目都好 SELECT Col1, Col2, Col3, Col4 FROM DataSource WHERE Criteria = FK -第3列和第4列是相同的!!! -数据是不同的 这是什么原因造成的 这是使用DISTINCT的相同查询,但是Col3中的值在Col4中是相同的 我检查了各种情况,备份并导出了数据,重新创建了表。 这是一个表直接查询,不是视图或其他任何内容。 没有触发器 我放不下它 欢迎有任何想法/想法 选择: SELECT DISTINCT Col1, Col2,

-所有栏目都好

SELECT Col1, Col2, Col3, Col4
FROM DataSource
WHERE Criteria = FK
-第3列和第4列是相同的!!! -数据是不同的

这是什么原因造成的

这是使用DISTINCT的相同查询,但是Col3中的值在Col4中是相同的

我检查了各种情况,备份并导出了数据,重新创建了表。 这是一个表直接查询,不是视图或其他任何内容。 没有触发器

我放不下它

欢迎有任何想法/想法

选择:

SELECT DISTINCT Col1, Col2, Col3, Col4
FROM DataSource
WHERE Criteria = FK
选择不同的:

OGID    MID PN      OPN
35      78  610131  204180001A
35      78  610132  204215001A
35      78  610133  204183001A
35      78  610134  204273001A
35      78  610135  204275001A
35      78  610137  204262001A
35      78  610152  204264001A
35      78  610203  204332001A
35      78  610266  204243001A
35      78  610285  204080001A
35      78  610286  204219001A
35      42  610289  130211

为什么?

你期待什么?你的问题

OGID    MID PN      OPN
35      78  610131  610131
35      78  610132  610132
35      78  610133  610133
35      78  610134  610134
35      78  610135  610135
35      78  610137  610137
35      78  610152  610152
35      78  610203  610203
35      78  610266  610266
35      78  610285  610285
35      78  610286  610286
35      42  610289  610289
在所有四个选定列中选择不同的值组合。在某些列中可能有重复的值。以下结果将被认为是不同的:

SELECT DISTINCT Col1, Col2, Col3, Col4
FROM DataSource
WHERE Criteria = FK

如果你有1,1,2,3和2,3,2,3和1,1,2,2和1,6,2,3,你想要什么结果?我想您可能会对DISTINCT的作用感到困惑-它适用于整个集合,而不是每个列。非常清楚这一点,谢谢。然后请描述您的数据集,以及为什么您希望DISTINCT与col1和col2区别对待col3和col4。最重要的是,显示一些示例数据以及您希望查询返回的内容。处理这些数据时,编辑内容不会显示出来。我想这可能是SQL Server或表设置中的问题-显然这是无法理解的。结果没有意义。你能用下面的结果显示这个查询的屏幕截图吗?我怀疑有一些别名,或者您可能遇到了错误或损坏。第3列的所有值最终都会变成第4列的值。第4列的值中没有一个显示为第4列中表示的数据:这与第3列相同,可能我在我的帖子中对此不清楚。我完全希望只从第3列和第4列中获取不同的值,作为独立列,而不是一个复制到下一个。我已经分析过,拉过子查询,运行过临时表。我知道这是一件愚蠢的事情。。。添加WHERE Col3 Col4将生成一个空白结果集。@user1233061:第4列的值都不显示为第4列中表示的数据是什么意思?查询结果是否显示不在原始表中的值ic Col4?正确->不是原始表中Col4中的值,而是COL3中的值。
Col1 Col2 Col3 Col4
A    A    A    1
A    A    A    2