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条件放在后面
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(....)