【问题标题】:SELECT DISTINCT isn't querying me DISTINCT valuesSELECT DISTINCT 没有查询我的 DISTINCT 值
【发布时间】:2015-08-24 15:49:15
【问题描述】:

我使用此查询是为了从 MSSQL 数据库中获取一些记录并填充组合框。

SELECT DISTINCT
  ta.Marca,
  ta.IDTipAutocar
FROM TipAutocar ta
INNER JOIN Autocare a
  ON ta.idtipautocar = a.idtipautocar

在数据库中的 Marca 表中,我有多个名称(例如 Mercedes - 出现多次),当我打开表单并下拉组合列表时,我会看到数据库中的所有值,包括重复。有什么想法吗?

【问题讨论】:

  • DISTINCT 应​​用于查询的所有字段,而不仅仅是第一个字段。因此,您需要为 Marca 和 IDTipAutocar 列提供 DISTINCT 值
  • 你应该包括一个例子,表中的内容,你现在得到了什么以及你期望的结果——这样答案会更好
  • @JamesZ - 我在IDTipAutocar 列中有值(1、2、3、4、5),在Manufacturer 列中有值(梅赛德斯、菲亚特、大众、菲亚特,梅赛德斯),我想获得独特的价值,而不是所有的重复。

标签: c# sql-server select


【解决方案1】:

您将获得 Marca 和 IDTipAutocar 的所有 DISTINCT 组合,因此如果您有多个梅赛德斯提示,您将多次看到它。

如果您展示示例数据集和期望的结果,我们可以建议如何最好地实现。

【讨论】:

  • 他是否还会获得 Marca、IDTipAutocar 的任何组合,以及 TipAutocar 和 Autocare 表之间的链接中存在的所有组合?他加入了 Autocare,但没有在查询中使用它。
  • 我在IDTipAutocar 列中有值(1、2、3、4、5)和Manufacturer 值(梅赛德斯、菲亚特、大众、菲亚特、梅赛德斯)和我想获得不同的价值,而不是所有的重复。
  • @rrrrdc:因此,如果这些是值,则即使制造商中有重复值,也不存在“重复行”。如果您删除 IDTipAutocar,您将重新获得梅赛德斯、菲亚特、大众汽车。
猜你喜欢
  • 2014-04-05
  • 2021-07-06
  • 2014-05-01
  • 1970-01-01
  • 2018-07-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-06
  • 2012-10-07
相关资源
最近更新 更多