sql >> データベース >  >> RDS >> Sqlserver

この Sql Server 階層を継承された包括的なリストに簡単にフラット化するにはどうすればよいですか?

    これは、再帰的な共通テーブル式 (cte) で行うことができます。

    WITH X (ProductId, CategoryId) AS (
        SELECT ProductId, CategoryId FROM #ProductCategory
        UNION ALL
        SELECT X.ProductId, C.ParentCategoryId FROM X
        INNER JOIN #Category C ON X.CategoryId = C.CategoryId
    )
    SELECT ProductId, CategoryId FROM X ORDER BY CategoryId, ProductId
    

    詳細については、http://msdn.microsoft.com/en-us/ を参照してください。ライブラリ/ms186243.aspx




    1. 日付の違いで同じ FK の上位 1 つのレコードを取得する

    2. 私のリソースを浪費する奇妙なSQL

    3. sequelizeを使用してローカルノードアプリからherokupostgresqlデータベースに接続できません

    4. 値が変更された場合にのみデータベースに挿入するにはどうすればよいですか?