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. 転送中のMySQLデータのSSLキー管理と暗号化

    2. cryptを使用してパスワードをハッシュすると、ログイン時に機能せず、誤ったパスが表示されます

    3. 「無効なオブジェクト名「OPENJSON」」の修正方法。 SQLServerで

    4. 1列にコンマが含まれるSQL結合テーブル