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

1つの行をすべての行に結合し、すべての行を返す

    クロスジョインの使用:-

    SELECT
        o.id_outlet,
        s_main.periode,
        o.branch, 
        count(msisdn)
    FROM
    (
        SELECT DISTINCT SUBSTRING(date,1,7) AS periode
        FROM sales
    ) s_main 
    CROSS JOIN outlet o
    LEFT OUTER JOIN sales s
    ON s_main.periode = SUBSTRING(s.date,1,7)
    AND o.id_outlet = s.id_outlet
    WHERE (o.STATUS LIKE 'STREET%')
    GROUP BY s_main.periode, o.branch, o.id_outlet
    

    日付のテーブルがある場合は、サブクエリではなくそれを使用して日付を取得できます(これにより、アウトレットの売上がゼロの月の結果に日付がないという潜在的な問題も回避されます) 。



    1. マルチクラウドデータベースでのMySQLスプリットブレインの排除

    2. PDOMySQLバックアップ機能

    3. Oracle CTEで再帰クエリをリファクタリングしようとしていますか?

    4. 未終了のドル相場