首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C#中,如何在不两次连接到数据库的情况下连接以获取两个表

问在C#中,如何在不两次连接到数据库的情况下连接以获取两个表
EN

Stack Overflow用户
提问于 2011-08-26 07:02:35
回答 2查看 913关注 0票数 1

我有两张表,如下所示-

代码语言:javascript
复制
table 1 -  modelno, eqno, modeldet, modelcolor,...etc
table 2 - modelno, eqno, partno, modelinfo1, modeldet, modelplace....etc

in table 1 modelno and eqno is composite key
in table 2 modelno, eqno and partno are composite primary key.

在C#中,我首先连接到数据库,然后根据modelno和eqno获取表2中的字段where子句。

例如

代码语言:javascript
复制
table 1 -  modelno, eqno, modeldet, modelcolor
           1        1     redblue   red
           1        2     greenblue pink
           2        2     eeee      eeee 

table 2 - modelno, eqno, partno, modelinfo1, modeldet, modelplace
          1        1     1       ghhh         sss      ffff
          1        1     2       ffff         eee      rrrr
          2        1     1       dddd         ddd      dddd

我想首先从表1中获取modelno = '1‘的所有列,然后在上面的步骤中获取每个行,然后从table2中获取行。示例从table1获取行后,我们得到2行。然后,对于使用modelid和eqno组合读取的第一行,从table2获取记录。

在C#中有没有办法只连接到数据库一次并获取table1和table2信息?我不想两次连接到数据库,首先是为了获取table1,然后是为了获取table2。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-08-26 07:06:24

在SQL查询中使用联接来执行以下操作:

代码语言:javascript
复制
SELECT * FROM Table1 as t1
LEFT JOIN Table2 as t2
ON t1.ModelNo = t2.ModelNo

这将根据匹配的ModelNo为表1和表2的每个组合返回一行

票数 3
EN

Stack Overflow用户

发布于 2011-08-27 20:21:29

我想你可以从两个表中检索数据。在http://msdn.microsoft.com/en-us/library/ms378758(v=SQL.100).aspx中有多个结果集概念。

这样,您就不需要连接表了。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7198203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档