选择不同的列,SELECT DISTINCT在两列中返回相同的值
SELECT Col1, Col2, Col3, Col4
FROM DataSource
WHERE Criteria = FK
- 所有列都可以。选择不同的列,SELECT DISTINCT在两列中返回相同的值
SELECT DISTINCT Col1, Col2, Col3, Col4
FROM DataSource
WHERE Criteria = FK
- 列3 & 4是一样的! - 数据是DIFFERNET
什么会导致这种情况?
这是与DISTINCT相同的查询,但Col3中的值在Col4中相同。
我检查了各种事物,备份并导出数据,重新创建表。 这是一个表直接查询(不是视图或其他任何东西)。 没有触发器。
我不能放置它...
任何想法/想法的欢迎。
选择:
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
SELECT DISTINCT:
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
在所有四个选定列中选择不同的值组合。在一些列中可能有重复的值。以下“结果”将被认为是不同的:
Col1 Col2 Col3 Col4
A A A 1
A A A 2
列3的所有值都以列4值结尾。第4列的数值没有显示为第4列中的数据:与第3列相同(也许我在这篇文章中对此并不清楚)。我完全希望我只能从第3列和第4列中获得不同的值,作为独立的列,而不是一个复制到下一个列。我已经修好了,将子查询拉进临时表中。我知道这是愚蠢的 - 基本...添加一个“WHERE Col3 Col4”产生一个空白的结果集。 – user1233061 2012-02-25 21:50:08
@ user1233061:你是什么意思,“第4列的数据没有显示为第4列中的数据”?查询结果是否显示不在原始表格中的值ic Col4? – Mithrandir 2012-02-25 21:56:46
正确 - >不是原始表中Col4中的值,COL3中的值。 – user1233061 2012-02-25 21:59:21
所以如果你有'1,1,2,3'和'2,3,2,3'和'1,1,2,2 '和'1,6,2,3'你想要什么结果?我想你可能会对“DISTINCT”的作用感到困惑 - 它适用于整个集合,而不是单个列。 – 2012-02-25 21:48:14
完美的意识到这一点,谢谢。 – user1233061 2012-02-25 21:55:36
然后请描述您的数据集,以及您为什么期望将col3和col4与col1和col2区别对待。最重要的是,显示一些示例数据以及您希望查询返回的内容。 – 2012-02-25 21:57:12