gpt4 book ai didi

c# - 在 C# 中如何连接以获取两个表而不连接到数据库两次

转载 作者:搜寻专家 更新时间:2023-10-30 22:03:22 24 4
gpt4 key购买 nike

我有 2 个表如下 -

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 获取表 1 的字段 where 子句,然后我必须根据 modelno 和 eqno 获取表 2 的字段 where 子句。

例如

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' 的列。然后 foreach 在上述步骤中获取的行从 table2 中获取行。从 table1 中获取行后的示例我们得到 2 行。然后对于使用 modelid 和 eqno 组合获取的第一行,从 table2 中获取记录。

有没有办法在C#中只连接一次数据库并获取表1和表2的信息???我不想先连接到数据库两次以获取表 1,然后再获取表 2。

最佳答案

在您的 SQL 查询中使用 JOIN 来执行此操作:

SELECT * FROM Table1 as t1
LEFT JOIN Table2 as t2
ON t1.ModelNo = t2.ModelNo

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

关于c# - 在 C# 中如何连接以获取两个表而不连接到数据库两次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7198203/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com