首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

vb.net SQL联合查询

2012-06-17 
vb.net SQL联合查询求助各位达人,小弟求助:目前有3个表:表1:idABCD表2:idBEF G表3:idEH I J现在需要使用联

vb.net SQL联合查询求助
各位达人,小弟求助:
  目前有3个表:
表1:
id A B C D

表2:
id B E F G
 
表3:
id E H I J

现在需要使用联合查询得结果,显示在datagrid里,显示为:
A B H C D

也就是说表1.B=表2.B and 表2.E=表3.E 对应的表3.H如何得到?最好联合查询得到return.table,就直接用datasource连接就可以了。
我自己的方法是先查询表1,然后连接datasource,然后用for循环逐行查询,select distinct H from 表3 where E=(select E from 表2 where B=datagridview1.item(i,2)),然后赋值dataview1.item(i,5)=returnDS.table(0).tostring
总是得空值,而且程序执行的太慢了,郁闷。
可能返回结果使用的也不对,求高人指点最简洁的方法,非常感谢!
另外,如果通过E查找的H值不只一个,如何用,号分开,连接起来显示在datagrid的一个单元格里呢?如果太麻烦,就只显示查询的H值的第一个值就可以,返回结果如何写呢?

[解决办法]
where条件放在后面

SQL code
SELECT 表1.A, 表1.B, 表3.H, 表1.C, 表1.DFROM 表1JOIN 表2 ON 表1.B=表2.BJOIN 表3 ON 表2.E=表3.Ewhere 表1.A>=date(....) and 表1.A<=date(....) 

热点排行