【问题标题】:vb.net - select distinct not get the result wantedvb.net - 选择不同的没有得到想要的结果
【发布时间】:2011-07-04 14:24:40
【问题描述】:

我使用以下代码从数据库中选择唯一值

myCommand = New SqlCommand("SELECT DISCTINCT Visitor, BookCode FROM tblBook", myConnection)
 myAdapter = New SqlDataAdapter(myCommand)
 myAdapter.Fill(myDataSet, "tblBook")
 cboAuthor.DataSource = myDataSet.Tables(0)
 cboAuthor.DisplayMember = "Author"
 cboAuthor.ValueMember = "BookCode"

并且它不会检索唯一值,它保持不变。但如果我只使用SELECT DISTINCT Author FROM tblBook 就可以了。

请帮忙。

【问题讨论】:

  • 为什么要针对您在first question 中发布的类似代码提出另一个问题?您可以编辑之前的问题以更新您的发现并改进问题文本。

标签: vb.net select combobox


【解决方案1】:

SELECT DISTINCT 将确保结果集中没有返回重复记录。

因此,如果您只输入 SELECT DISTINCT Author,您将获得唯一作者列表。

输入SELECT DISTINCT Author, Visitor, BookCode 可能会返回重复作者,具有不同的访问者或书籍代码。

【讨论】:

  • 但实际上,我只想要唯一的作者,即使他们的书码不同,你知道吗?
  • 这不合逻辑,因为如果值不同,BookCodes 字段中会出现什么?您要么需要删除它,要么使用聚合函数来决定显示哪一个
【解决方案2】:

SELECT DISTINCT 将获得 ALL 字段的所有不同值。

【讨论】:

    【解决方案3】:

    一切正常。 select DISTINCT 返回 SELECT 子句中所有字段的所有唯一组合。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-03-14
      • 2022-09-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      相关资源
      最近更新 更多