C# SQL:连接主键上的表并返回主键
我正在编写一个C#应用程序,正在使用Access.mdb。我有一个包含电子邮件消息的表和一个包含消息关系的表(每个电子邮件消息可以分配给多个工作组),因此关系表中的行有“msgId”和“teamName”字段 我想从第一个表中获取分配给指定团队的所有消息。我正在使用以下查询:C# SQL:连接主键上的表并返回主键,c#,sql,ms-access,C#,Sql,Ms Access,我正在编写一个C#应用程序,正在使用Access.mdb。我有一个包含电子邮件消息的表和一个包含消息关系的表(每个电子邮件消息可以分配给多个工作组),因此关系表中的行有“msgId”和“teamName”字段 我想从第一个表中获取分配给指定团队的所有消息。我正在使用以下查询: "SELECT * FROM Mails INNER JOIN MailAssignments ON Mails.msgId = MailAssignments.msgId" 但是我猜它不会为我返回msgId,因为表在这
"SELECT * FROM Mails INNER JOIN MailAssignments ON Mails.msgId = MailAssignments.msgId"
但是我猜它不会为我返回msgId,因为表在这个字段上被连接,但是我
我无法识别C代码中的消息
如何使查询为我返回msgId?在选择中指定字段名称就足够了,或者在要获取所有字段的位置添加表名,请尝试使用此选择列表:
SELECT Mails.*
FROM Mails INNER JOIN MailAssignments
ON Mails.msgId = MailAssignments.msgId
对于
Mails.msgId
和mailsassignments.msgId
,它应该在结果集中出现两次。但是,您不应该期望有两列名为msgId
。相反,DBMS应该消除列的歧义。顺便说一句,这是SQL标准的要求
IIRC Access将重命名两个列以消除歧义。这可以解释为什么结果中没有名为msgId
的列