Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL Server中的列名称不明确_Sql_Sql Server_Tsql - Fatal编程技术网

SQL Server中的列名称不明确

SQL Server中的列名称不明确,sql,sql-server,tsql,Sql,Sql Server,Tsql,] 这一直给我错误信息,我试图使两个typeID相等,但仍然没有结果 创建视图平面视图 选择p.planID、p.planName、p.cost、p.quota、p.maxSpeed、p.shapedSpeed、a.typeID、a.typeName 从计划作为p左外部联接访问类型作为 p.typeID=a.typeID; 转到 创建视图平面视图 选择p.planID、p.planName、p.cost、p.quota、p.maxSpeed、p.shapedSpeed、a.typeID、a.ty

]

这一直给我错误信息,我试图使两个typeID相等,但仍然没有结果
创建视图平面视图
选择p.planID、p.planName、p.cost、p.quota、p.maxSpeed、p.shapedSpeed、a.typeID、a.typeName
从计划作为p左外部联接访问类型作为
p.typeID=a.typeID;
转到
创建视图平面视图
选择p.planID、p.planName、p.cost、p.quota、p.maxSpeed、p.shapedSpeed、a.typeID、a.typeName
从计划作为p左外部联接访问类型作为
p.typeID=a.typeID;

转到
您的表中有一个公共列。这对于SQL Server是不明确的,因为它不知道此列属于哪个表

例如,如果您在
plan
accessType
表中都有
cost
,那么它会对应该返回什么感到困惑-
plan.cost
accessType.cost

解决方案:

转到您的
选择

SELECT planID, planName, cost, quota, maxSpeed, shapedSpeed, typeID, typeName 
并使用
运算符指定表的名称

我想问题来自于

typeID

在“选择原因”中,您使用了
左外部联接
so,两个表中的
typeID的值并不总是相同的。

您的表中有一个公共列。这对于SQL Server是不明确的,因为它不知道此列属于哪个表

例如,如果您在
plan
accessType
表中都有
cost
,那么它会对应该返回什么感到困惑-
plan.cost
accessType.cost

解决方案:

转到您的
选择

SELECT planID, planName, cost, quota, maxSpeed, shapedSpeed, typeID, typeName 
并使用
运算符指定表的名称

我想问题来自于

typeID

在“选择原因”中,您使用了
左外部联接
so,两个表中的
typeID的值并不总是相同的。

您可以这样写:

CREATE VIEW planView  
    SELECT 
        planID, planName, cost, quota, maxSpeed, shapedSpeed, a.typeID, typeName  
    FROM 
        Plans AS p 
    LEFT OUTER JOIN 
        accessType AS a ON p.typeID = a.typeID;  
GO 

你可以这样写:

CREATE VIEW planView  
    SELECT 
        planID, planName, cost, quota, maxSpeed, shapedSpeed, a.typeID, typeName  
    FROM 
        Plans AS p 
    LEFT OUTER JOIN 
        accessType AS a ON p.typeID = a.typeID;  
GO 

您应该明确说明要从哪个表中选择列。例如,
选择p.typeID,
这里的typeID列就是问题所在。这两个表都包含typeidYou应该明确说明从哪个表中选择列。例如,
选择p.typeID,
这里的typeID列就是问题所在。两个表都包含类型ID我们不知道哪个字段属于哪个tableType ID是accessType的主键,而FK是Plans的主键。您的解决方案有效,非常感谢。很乐意帮助。别忘了接受这个答案@ggwp我们不知道哪个字段属于哪个tableType ID是accessType的主键,而FK是plan的主键。您的解决方案有效,非常感谢。很乐意帮助。别忘了接受这个答案@ggwp