c# - 如何从 DBF 文件中选择不同的值?

标签 c# sql dbf

我从 DBF 文件获取数据并将其放入 DataTable 中,问题是我只想获取不同的数据,例如:

Column1
  a
  b
  c
  b
  a

数据表应该填充:

Column1
  a
  b
  c

有什么办法可以实现这一点,或者解决它吗?

            connDBF.Open();
            string jobData1 = "SELECT * FROM HREQDETM.DBF";

            OdbcCommand cmd1 = new OdbcCommand();
            cmd1.CommandText = (jobData1);

            OdbcDataAdapter dbAdapter1 = new OdbcDataAdapter(jobData1, connDBF);

            DataSet dtSet1 = new DataSet();
            dbAdapter1.Fill(dtSet1);


            DataTable dbTable1 = dtSet1.Tables[0];

问题是,我正在进行迁移,数据位于 DBF 文件中,我想要快速完成,因为我将在计算机中运行脚本并通过 SQL 语句中的 VPN 发送数据

最佳答案

只需将 DISTINCT 添加到您的查询

string jobData1 = "SELECT DISTINCT Column1 FROM HREQDETM.DBF";

如果您希望 Column1 具有不同的值,但仍需要表中的其余列,则必须决定当两个或多个值组合在一起作为 Column1 的一个值时要获取哪些数据。

示例

Column1  Column2
  a         1
  b         1
  c         1
  b         2
  a         2

那么,当删除 a 的重复项后,您希望在第 2 列中显示什么:12
你可以写:

SELECT
   Column1,
   MIN(Column2) --To get 1 Or MAX(Column2) to get 2
FROM 
  HREQDETM.DBF
GROUP BY 
  Column1

我建议您阅读更多有关 Group by and aggregates 的内容。

关于c# - 如何从 DBF 文件中选择不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12788359/

相关文章:

c# - 将用户给定日期(2017 年 1 月或 2 月 1 日)转换为时间戳

c# - List.Sort 使用 lambda 表达式

c# - Javascript onkeyup 事件(如何在我的代码中提及箭头键)

c# - 在 64 位操作系统机器上以 32 位运行我的应用程序有什么妥协

c# - 如何通过连接字符串在C#中读取Excel文件?

mysql - 计算不带小数的平均值

sql - Hypertable 与 HBase 以及 BigTable 与 SQL

mysql - 替换整个数据库中的文本,无需分配表或列

Python dbfpy 和 FoxPro

python - dbf 将列导出到 csv