在数据集中重复列名称

时间:2014-05-14 18:53:43

标签: c# sql dataset

我在数据库2中有相同的表 - 让我们说ARTICLE和ARTICLE_BACKUP。它们有不同的记录,但所有列都是相同的。

我可以加入他们并在C#中读入数据集

SELECT * from ARTICLE A INNER JOIN ARTICLE_BACKUP A2 ON A.ID=A2.ID

在SQL中处理连接表时,使用表名和列名,如

ARTICLE_BACKUP.NAME

所以你永远不会在不同的表中混合具有相同名称的列。

当您将其读取到数据集时,表名称已消失。 ARTICLE.NAME将仅被称为NAME,ARTICLE_BACKUP.NAME在大多数情况下将被称为NAME1 - " 1"被添加到名称

但是如果NAME1列已经存在于sql查询中,如下所示:

SELECT A.NAME,A.NAME1,A.NAME11,        B.NAME,B.NAME1,B.NAME11,        C.NAME,C.NAME1,C.NAME11, 来自A.ID = B.ID内部联合B的内部联合B A.ID = C.ID

B和C表中列的数据集中列的名称是什么?

我可以检查一下,但有人可以说规则吗?

在SQL查询中有一个列知道数据集中的名称时,是否有100%的工作方式?

1 个答案:

答案 0 :(得分:6)

"在SQL查询中有一个列知道数据集中的名称时,是否有100%的工作方式?"

是的,请勿使用select *。手动键入所需的列,您可以为它们添加别名。

示例

SELECT A.Column1 as AColumn1, A2.Column1 as A2Column1 from ARTICLE A INNER JOIN ARTICLE_BACKUP A2 ON A.ID=A2.ID

然后在您的C#代码中,您将通过其别名来访问列。