Mysql
 sql >> база данни >  >> RDS >> Mysql

присъединяване на един ред към всички редове и връщане на всички редове

Използване на 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

Ако имате таблица с дати, тогава можете просто да използвате това вместо подзаявката, за да получите датите (което също така избягва потенциалния проблем да нямате дата в резултатите за месец, когато е имало нулеви продажби за който и да е търговски обект) .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не можа да се отвори JPA EntityManager за транзакция; вложеното изключение е javax.persistence.PersistenceException

  2. Изберете n-ти процентил от MySQL

  3. Как да върна цели и числови колони от MySQL като цели числа и числа в PHP?

  4. Попълване на полето за въвеждане на избор със стойност от mysql

  5. Запазване на данни плюс индексни данни в паметта - InnoDB срещу MyISAM