首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在SQL中结合使用UNION和语句

在SQL中结合使用UNION和语句
EN

Stack Overflow用户
提问于 2013-05-03 09:42:55
回答 2查看 649关注 0票数 1

我有一张定位表。作为树存储在此表中的每个位置。记录可以是任何其他位置的子位置,等等。

在location表中,我执行以下tsql以生成所有位置及其子位置

代码语言:javascript
复制
WITH LocationTree AS (
    SELECT L.* FROM Location L
                UNION
    SELECT L.* FROM LocationTree LT, Location L where L.ParentLocationID = LT.LocationID
        )

SELECT * FROM LocationTree

但它给了我一个错误:

代码语言:javascript
复制
Recursive common table expression 'LocationTree' does not contain a top-level UNION ALL operator.

错误说明我必须使用UNION、ALL、insead和UNION,但是UNION ALL返回重复的行。我想选择不同的行,比如只使用UNION时。

如何在中的带有语句的中使用UNION关键字?

EN

回答 2

Stack Overflow用户

发布于 2013-05-03 09:45:39

问题在于,您的CTE名称与您的一个表相同:

代码语言:javascript
复制
WITH LT AS (
    SELECT L.* FROM Location L
                UNION
    SELECT L.* FROM LocationTree LT, Location L where L.ParentLocationID = LT.LocationID
        )
SELECT * FROM LT

对我来说很好

票数 1
EN

Stack Overflow用户

发布于 2013-05-03 09:54:03

在外部选择中添加UNION ALL而不是UNIONSELECT DISTINCT * FROM LocationTree

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16355958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档