PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

PostgreSQL:Групиране и филтриране на таблица с условие за несъществуване

Използвайте CTE, който връща всички редове, където A =C и се присъединете към масата:

с cte като ( select * from tablename where "A" ="C") select distinct t."A", t."B", c."D"from tablename t left join cte con c "A" =t."A" и c."B" =t."B"подреждане по t."A", t."B" 

Вижте демонстрацията .
Резултати:

<предварителен код>| A | B | D || --- | --- | --- || x | 0 | 1 || x | 1 | || y | 0 | || y | 1 | 0 |

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. В защита на sar (и как да го конфигурирате)

  2. Spark SQL 2.0:NullPointerException с валидна заявка за PostgreSQL

  3. SELECT COUNT(*) - връща 0 заедно с групираните полета, ако няма съответстващи редове

  4. Изберете от нищо в Oracle, без да препращате към двойната таблица?

  5. Експортиране на PostgreSQL заявка в csv файл с помощта на Python