我收到一条错误,说GeographyName含糊不清但我不确定这意味着什么:
navigator.mediaDevices.getUserMedia()
答案 0 :(得分:3)
Ambiguous Colum Name
表示SQL Server有一个特定名称的列可供选择,并且不知道哪一列。
我发现你的查询中有很多连接,因此引入了很多表,也许在多个表中使用相同的列名。
您的问题似乎在查询的第2行,您没有指定GeographyName
列来自哪个表。
答案 1 :(得分:2)
在 RowID 列的order by
。
SELECT ROW_NUMBER() OVER (
ORDER BY g.GeographyName ASC) AS RowID,
g.GeographyName,
c.categorydesc AS CategoryDesc,
ROUND(SUM(s.TotalFunding), 0) AS TotalFunding,
g.GeographyCode,
t .GeographyTypeDesc,
r.GeographyRegionDesc,
g.GeographyRegionID,
a.Latitude,
a.Longitude
FROM dbo.StateSummaryByCategory AS s
INNER JOIN dbo.Geography AS g ON g.GeographyID = s.GeographyId
INNER JOIN dbo.GeographyType AS t ON g.GeographyTypeID = t .GeographyTypeID
INNER JOIN dbo.GeographyRegion AS r ON g.GeographyRegionID = r.GeographyRegionID
INNER JOIN dbo.Category AS c ON s.categoryid = c.categoryid
LEFT OUTER JOIN dbo.Geography_LatLons a ON g.GeographyCode = a.GeoCode
AND g.GeographyName = a.GeographyName
GeographyName
字段位于多个列中。所以你已经提到了你要用来排序的那个
答案 2 :(得分:1)
" GeographyName含糊不清"表示结果数据有两个GeographyName列名。所以,当你尝试" ORDER BY GeographyName"在SQL中,SQL得到歧义错误,简单来说,它无法选择哪一个应该考虑进行排序。因此,解决方案是将" ORDER BY g.GeographyName"或者a.GeographyName 根据您的要求而不是按照地理名称排序' ORDER BY GeographyName'你的陈述。
答案 3 :(得分:0)
确保在select,join和where语句中提到的每一列都使用正确的表别名。