Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

gabungkan satu baris ke semua baris dan kembalikan semua baris

Menggunakan CROSS JOIN:-

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

Jika Anda memiliki tabel tanggal maka Anda bisa menggunakannya daripada sub kueri untuk mendapatkan tanggal (yang juga menghindari potensi masalah tidak memiliki tanggal dalam hasil selama sebulan di mana tidak ada penjualan untuk outlet mana pun) .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - menggunakan String sebagai Kunci Utama

  2. Masalah SQL:hubungan satu ke banyak dan model EAV

  3. Generator RSS dengan fungsi caching

  4. Jika kueri untuk tag di SPIP

  5. Bagaimana INNER JOIN 3 tabel menggunakan CodeIgniter