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

Показване на останалата част от реда с нула или 0 на място за колони, които не са намерени

Ако съм разбрал правилно, трябва да използвате OUTER JOIN за да получите резултати за липсващите месеци, но имате нужда и от CROSS JOIN за да получите правилно името на компанията -- ако не, то ще се покаже като NULL :

SELECT months.month,
     SUM(job_details.price_each*job_details.quantity) AS sum_monthly_price, 
     DATE_FORMAT(job.order_date, '%M') AS order_date, 
     customer.company_name 
FROM months CROSS JOIN customer 
    LEFT JOIN job on job.company_id = customer.company_id 
         AND months.month = month(job.order_date) 
    LEFT job_details on job.job_id = job_details.job_id 
WHERE months.month > month(date_sub(NOW(), INTERVAL 4 month)) 
    AND months.month <= month(NOW()) 
    AND customer.company_id = 6 
GROUP BY months.month 
ORDER BY months.month asc


  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-таблица (където се съхраняват lat и long) това, което е най-близкото местоположение до въведеното местоположение (ширина и дължина)?

  2. намерете последователна транзакция в рамките на 10 минути

  3. SQL заявка за проверка дали името започва и завършва с гласна

  4. MYSQL:Настройка на таблицата с подробности за потребителя - най-добра практика

  5. Копиране на данни от една таблица в друга таблица. Базите данни са различни и структурата на таблицата е различна