sql >> Databasteknik >  >> RDS >> PostgreSQL

Hitta föräldra-ID när alla barn delar samma värde

Prova detta nedan logik-

DEMO HÄR

SELECT ID FROM C
WHERE ID NOT IN
(
    SELECT C.ID
    FROM C
    INNER JOIN F ON C.id = F.parent_id
    INNER JOIN oui ON F.ID = Oui.rel_id
    WHERE C.ID = CAST(oui.Product_Version AS INT)
    -- by default your column "Product Version" should be INT in table oui
)

Problemet du nämnde i kommentaren nedan, du kan prova denna motsatta konvertering enligt nedan-

SELECT ID FROM C
WHERE ID NOT IN
(
    SELECT C.ID
    FROM C
    INNER JOIN F ON C.id = F.parent_id
    INNER JOIN oui ON F.ID = Oui.rel_id
    WHERE CAST(C.ID AS VARCHAR) = oui.Product_Version
)


  1. SQL Server Compact Edition ISNULL(sth, ' ') returnerar ett booleskt värde?

  2. MySQL Inner Join-tabell baserad på kolumnvärde

  3. Hur man konverterar en tidsstämpel till ett heltal (Unix-epok) i Postgres

  4. Smutsiga hemligheter av CASE-uttrycket