sql >> Databáze >  >> RDS >> Sqlserver

Jak získat nejnižší, společný rodič pro 2 řádky v rekurzivní tabulce (SQL)

Několik drobných úprav v Quassnoiově odpovědi a funguje to:

WITH
    hier1 (id, parent) AS (
    SELECT      id, parent
    FROM        table
    WHERE       id = @user1
    UNION ALL
    SELECT      id, parent
    FROM        table l, hier1 h
    WHERE       l.id = h.parent
    ),
    hier2 (id, parent) AS (
    SELECT      id, parent
    FROM        table
    WHERE       id = @user2
    UNION ALL
    SELECT      id, parent
    FROM        table l, hier1 h
    WHERE       l.id = h.parent
    )
SELECT  TOP 1 hier1.id
FROM    hier1, hier2
WHERE   hier1.id = hier2.id


  1. ekvivalent onbeforeprint() a onafterprint() pro prohlížeče bez IE

  2. 7 způsobů, jak vrátit duplicitní řádky, které mají primární klíč v MariaDB

  3. Data SQLite do RecyclerView

  4. Chyby oprávnění Mysql s „načíst data“