首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Select中的select

Select中的select
EN

Stack Overflow用户
提问于 2013-10-08 04:24:44
回答 1查看 27关注 0票数 0

我试图弄清楚相互之间多个select语句背后的原因。换句话说,这有什么意义呢?注意:我非常熟悉T- SQL……我已经从SQL Server的维护方面转到了它的开发方面。下面的代码(部分)让我感到困惑:

代码语言:javascript
复制
SELECT DISTINCT id
,NAME
,TypeCode
,ProductId
,ProductName
,LocationCode
,County
,STATE
,RecommendationType
,PackageName
FROM (
SELECT c.Id
    ,C.NAME
    ,p.Typecode
    ,p.ProductId
    ,p.Productname
    ,p.LocationCode
    ,p.County
    ,p.STATE
    ,'Appened' AS RecommendationType
    ,PackageName
FROM (
    SELECT op.*
        ,t.i.value('@ProductId', 'varchar(50)') AS productId
        ,t.i.value('@Name', 'varchar(50)') AS Product
    FROM (
        SELECT pg.CustomerId
            ,pg.NAME AS PackageName
            ,pg.runtimedefinition.query('/PackageDefinition/Products')                                    AS CList
        FROM product.package pg WITH (NOLOCK)
        ) op
    CROSS APPLY clist.nodes('Products/Task[@xsi:type="ProductTask"]') t(i)
    ) m

Remember...this代码是其中的一部分。

谢谢!!

EN

回答 1

Stack Overflow用户

发布于 2013-10-08 05:03:51

中的第二个看起来有点无意义,因为它只添加了一个由文字填充的列,但除此之外。

在以前的版本中,它可能做得更多,重构被认为是太费力了,或者可能患有开发人员健忘症。“我想我已经完成了”,管理器中断,停止修复另一小段代码,然后忘记你还没有完成这一步。

至于技术,这是一个很好的解决方案的方法。我称它为inside out,但可能有一个科学名称。

在对xml进行交叉应用并使其正常工作之后,通过将结果包装为内部查询,可以更容易地使用结果并对额外行为进行螺栓连接。

它比临时桌子的噪音要小,可能是由CTE前开发的,或者是由不太熟悉它们的开发人员开发的。

试着在oner中编写它,你可能会开始明白一两个要点。:)

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

https://stackoverflow.com/questions/19234064

复制
相关文章

相似问题

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