sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL:Gruppering och filtreringstabell, med villkor för att det inte finns

Använd en CTE som returnerar alla rader där A = C och gå med i bordet:

with cte as (
  select * from tablename
  where "A" = "C"
)  
select distinct t."A", t."B", c."D"
from tablename t left join cte c
on c."A" = t."A" and c."B" = t."B"
order by t."A", t."B"

Se demon .
Resultat:

| A   | B   | D   |
| --- | --- | --- |
| x   | 0   | 1   |
| x   | 1   |     |
| y   | 0   |     |
| y   | 1   | 0   |


  1. Få tillgång till en MySQL-databas i Electron

  2. Hur man tillämpar villkorlig formatering på ett nummer i SQL Server med FORMAT()

  3. mysql-fråga för att välja allt utom

  4. Hur man uppgraderar java-versionen i Oracle 11g 11.2.0.1