表1
ID DatapointID Value
1 10000 100
2 20101 200
3 30004 300
4 19999 400
5 88888 500
表2
ID DatapointID Formula
1 10000 HELLO
2 20101 HI
3 30004 how are you
4 19999 fine
5 88888 OK我想通过DatapointID的唯一性,关联起这两个表显示到datagridview中。用如下SQL语句,可以达到我的效果—>SqlDataAdapter da = new SqlDataAdapter("select A.[Value],B.[Formula] from 表1 as A INNER JOIN 表2 as B on A.DatapointID = B.DatapointID", con);
现在有一个新问题,假如表2不全的话,举个例子—>表2
ID DatapointID Formula
1 10000 HELLO
2 20101 HI
5 88888 OK
那么,如果还用上面的SQL语句的话,datagridview显示如下:
ID DatapointID Value Formula
1 10000 100 HELLO
2 20101 200 HI
5 88888 500 OK
换句话说,表2有几行,datagridview中就显示几行,实际上我想看到的效果是—>
ID DatapointID Value Formula
1 10000 100 HELLO
2 20101 200 HI
3 30004 300
4 19999 400
5 88888 500 OK
也就是说,表2中没有的,datagridview中Formula列为空罢了。请问如何实现这个功能,希望高手指点,万分感激!!!!
解决方案 »
- 了解一下最新.net(C#)企业开发 需要会那些技术?
- C# TabControl的TabPages不可用
- messagequeue 返回对象
- 在线等待:vs.net 2008编译的程序不能在windows 2000下运行吗?
- 如何在子窗口對父窗口的GirdView操作?
- 一个非常难的正则表达式的问题
- 正则表达式中日文片假名如何写?
- 请教
- 关于C# WINDOWS程序的一点疑问。。。
- 请问各位高人:Visual Studio.NET 简体中文版的最新版本是什么,是2003还是2004?一共几张盘,是不是7张啊?哪有下载的,请给提供一个可
- 请教IDictionary的问题!
- 线程池 Metex被放弃的问题
LEFT JOIN 或 LEFT OUTER JOIN。
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 当然也可以RIGHT JOIN 要看你哪个表为主表了
right join 与left join反之,显示右表的全部信息,不匹配 on 后面条件的字段显示为空 可以去查看一下MSSql的SDK
阐述地更详细些。
表2是DatapointID是外键吧!
引用了表1的DatapointID