我从 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 列中显示什么:1
或 2
?
你可以写:
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/