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

时间:2012-02-25 21:34:24

标签: select sql-server-2008-r2

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

- 所有列都没问题。

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

- 第3栏和第3栏4都一样!!! - 数据是DIFFERNET

导致这种情况的原因是什么?

与DISTINCT的查询相同,但Col3中Col3的值相同。

我检查过各种各样的东西,备份并导出数据,重新创建表格。 这是一个表直接查询(不是视图或其他任何东西)。 没有触发器。

我无法放置它......

欢迎任何想法/想法。

选择:

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

为什么?

1 个答案:

答案 0 :(得分:1)

你期待什么?您的查询

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

在所有四个选定列中选择不同的值组合。某些列中可能存在重复值。以下“结果”将被视为不同:

Col1 Col2 Col3 Col4
A    A    A    1
A    A    A    2