You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在单条SQL查询中读取同库两表数据并加载至VB.Net DataGridView?

当然可行!无需执行两条独立查询

完全可以通过SQL的合并查询语句,一次性从两张表中获取数据并返回一个统一的数据集,直接加载到你的VB.Net DataGridView里,省掉两次查询的麻烦。

具体实现方法

因为你的两张表PD_All_FT和PD_All_ST的查询字段(DateAndTime, Millitm, TagIndex, Val)结构完全一致,刚好可以用UNION ALL来合并结果:

SELECT DateAndTime, Millitm, TagIndex, Val 
FROM PD_All_FT 
WHERE (DateAndTime = '2019-01-30 07:59:58.000') AND (Millitm = 597)
UNION ALL
SELECT DateAndTime, Millitm, TagIndex, Val 
FROM PD_All_ST 
WHERE (DateAndTime = '2019-01-30 07:59:58.000') AND (Millitm = 597)
ORDER BY DateAndTime DESC

小细节说明

  • UNION ALL vs UNION:如果两张表不会出现完全重复的记录(或者你不需要去重),优先用UNION ALL,它的执行效率更高;如果需要自动剔除两张表中完全相同的行,就把UNION ALL换成UNION。
  • 筛选条件:两张表的WHERE条件可以根据需求调整,不一定必须一致,各自写对应的筛选逻辑就行。
  • 排序:ORDER BY要放在整个语句的最后,作用于合并后的所有数据,而不是单表结果。

VB.Net端的使用

和你之前处理单表查询的流程完全一样:把上面的SQL语句作为查询命令,执行后将结果填充到DataTable,再把DataTable绑定到DataGridView即可,不需要额外处理两次查询结果的合并操作。

内容的提问来源于stack exchange,提问作者MHammer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 09:13:53