sql >> データベース >  >> RDS >> Mysql

複数の行を1つのMySQL結合に結合します

    GROUP_CONCATを使用して、特定のパーツのすべての仕上げIDを1つの列にまとめることができます。

    SELECT pj_items.part_num, 
           pj_items.qty, 
           GROUP_CONCAT(PartFinishes.FinishId) as FinishIds
    FROM pj_items
    JOIN PartFinishes 
      ON PartFinishes.PartNumber = pj_items.part_num
    WHERE job_id = 1
    GROUP BY PartFinishes.PartNumber
    

    @comment:ただし、pj_itemsからの行を分離したままにする場合は、PartNumberですでにグループ化されているPartFinishesに参加する必要があります:

    SELECT pj_items.part_num, 
       pj_items.qty, 
       FinishesGrouped.FinishIds
    FROM pj_items
    JOIN 
      ( SELECT PartNumber, GROUP_CONCAT(FinishId) as FinishIds
        FROM PartFinishes
        GROUP BY PartNumber ) FinishesGrouped
    ON
      pj_items.part_num = FinishesGrouped.PartNumber
    



    1. Oracleの隠し機能

    2. MySQLを使用するようにフォロワーをツイッターで取得する

    3. データベースが空(テーブルなし)かどうかを確認するSQL

    4. 接続されたユーザーをOracle10gデータベーススキーマから削除する