我在数据库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%的工作方式?
答案 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#代码中,您将通过其别名来访问列。