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

Извършване на заявки за множество таблици със сложни релации

Това трябва да направи това, което искате:

WITH a AS (
  SELECT item.id, string_agg(prefered_store.store::varchar, ',') wishlist_stores
  FROM item, list_wishlist, wishlist, prefered_store
  WHERE item.list=list_wishlist.list
    AND list_wishlist.wishlist=wishlist.id
    AND wishlist.prefered_stores=prefered_store.id
  GROUP BY item.id
), b AS (
  SELECT item.id, 
    string_agg(
      prefered_store.store::varchar || ',' || prefered_store.comment,
      ' ; ') item_stores_comments
    FROM item, prefered_store
    WHERE item.prefered_stores=prefered_store.id
    GROUP BY item.id
)
SELECT a.id,item_stores_comments,wishlist_stores 
FROM a,b
WHERE a.id=b.id



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разграничим име на променлива plpgsql в клауза ON CONFLICT?

  2. Изпълнение на PostgreSQL CLI (psql) в bash скрипт без подкана за парола?

  3. org.hibernate.MappingException:Няма съпоставяне на диалект за тип JDBC:1111

  4. Как да импортирам sql файл от базата данни Northwind в PostgreSQL?

  5. Postgres избира текущи данни за час