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

1つの結果行で複数の行を選択します

    GROUP_CONCAT()を使用できます およびGROUP BY 希望する結果を得るには:

    SELECT t1.*, GROUP_CONCAT(t2.date) AS dates
    FROM Table1 t1
    LEFT JOIN Table2 t2
      ON t2.ID_adv = t1.ID_adv
    GROUP BY t1.ID_adv
    

    これにより、各広告のすべての日付がコンマで連結されて返されます。表2に特定の広告の日付がない場合、日付列にNULLが表示されます。

    特定の広告をターゲティングするには、WHEREを追加するだけです。 条項:

    SELECT t1.*, GROUP_CONCAT(t2.date) AS dates
    FROM Table1 t1
    LEFT JOIN Table2 t2
      ON t2.ID_adv = t1.ID_adv
    WHERE t1.ID_adv = 3
    GROUP BY t1.ID_adv
    


    1. 特に結合中にorderby句で使用される場合、誰かがMySQLインデックスに関する優れたチュートリアルを推奨できますか?

    2. Laravel4で生のSQLクエリをエスケープする

    3. mysqliプリペアドステートメントの使用方法は?

    4. タイムゾーン付きのHibernateタイムスタンプ