PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Membuat kueri beberapa tabel dengan hubungan yang kompleks

Ini harus melakukan apa yang Anda inginkan:

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. Penyortiran peka huruf alfanumerik di postgres

  2. POSTGIS:temukan semua titik dalam poligon

  3. Apakah urutan tabel dalam gabungan penting, ketika gabungan KIRI (luar) digunakan?

  4. Kesalahan PostGres Saat Menggunakan Distinct :postgres ERROR:tidak dapat mengidentifikasi operator pemesanan untuk jenis catatan

  5. Postgresql dan PHP:apakah currval cara yang efisien untuk mengambil id baris terakhir yang dimasukkan, dalam aplikasi multipengguna?