C# SQL从其他表中获取匹配值并显示在主表中

C# SQL从其他表中获取匹配值并显示在主表中,c#,sql,ms-access,C#,Sql,Ms Access,我正在尝试使用C#和Access数据库来执行一些SQL。我有两张桌子。主表和第二个表: MAIN TABLE DoubleValue | | | | ---------------------------------------- 1,40 | | | | 1,80 | | | | 2,00 | | |

我正在尝试使用C#和Access数据库来执行一些SQL。我有两张桌子。主表和第二个表:

MAIN TABLE
DoubleValue |        |        |        |
----------------------------------------
1,40        |        |        |        |
1,80        |        |        |        |
2,00        |        |        |        |
1,80        |        |        |        |
1,60        |        |        |        |
1,60        |        |        |        |
----------------------------------------

SECOND TABLE
DoubleValue | Points | Weight |
-------------------------------
1,00        | 100    | 2      |
1,20        | 98     | 2      |
1,40        | 96     | 2      |
1,60        | 94     | 2      |
1,80        | 92     | 2      |
2,00        | 90     | 2      |
-------------------------------
我需要根据“Double Value”列在“SECOND TABLE”中查找所有匹配的行。然后,对于匹配的行,我希望获得“Points”和“Weight”列中的值,并将这两列合并,创建一个名为“Sum”的列,并将所有三列添加到“MAIN TABLE”:

“主表”实际上不需要“物理地”插入新列。我非常希望它们可以显示在输出中,就像“选择点*权重作为总和”将产生“总和”将显示但不实际插入表中一样。但是好的,如果它真的需要被插入,那么我将使用它


如何做到这一点?

您正在寻找一个更简单的
内部连接
语句。请注意,
Sum
是包装的,因为它在大多数SQL变体中是保留字。请尽量避免使用这些单词命名项目

SELECT m.DoubleValue 
,      s.Points
,      s.Weight
,      [Sum] = s.Points * s.Weight    

FROM       MainTable    AS m
INNER JOIN SecondTable  AS s     ON m.DoubleValue  = s.DoubleValue 

这看起来像一个非常基本的
内部联接。你试过什么?我确实很难想出该试什么。我已经15年没有做过任何SQL了,所以我不记得如何做所有的内部连接。我只记得非常基本的SQL,比如选择、更新和插入。好的,谢谢你的帮助。现在我知道了做这件事的基本原理,但这部分肯定有问题:“[Sum]=s.Points*s.Weight”。至少对我来说,“[Sum]”的标题是“Expr 1004”,列中的每个值都有“0”。我认为您提出的方法是正确的,但由于某些原因,出现了一些问题。除此之外,“Points”和“Weight”列正在添加到“MainTable”中,因此该部分运行良好。
SELECT m.DoubleValue 
,      s.Points
,      s.Weight
,      [Sum] = s.Points * s.Weight    

FROM       MainTable    AS m
INNER JOIN SecondTable  AS s     ON m.DoubleValue  = s.DoubleValue