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

MySQL припокриващи се периоди от време въз основа на критерии

Ако разбирам проблема ви правилно, имате нужда от ляво съединение вместо вътрешно съединение -

SELECT a.id, GROUP_CONCAT(b.id) AS abcd
FROM new_table a
LEFT JOIN new_table b ON a.id <> b.id
                      AND a.Block_ID = b.Block_ID
                      AND a.Block_Type = b.Block_Type
                      AND a.Valid = b.Valid
                      AND ((a.Valid_To BETWEEN b.Valid_From AND b.Valid_To)
                            OR (a.Valid_From BETWEEN b.Valid_From AND b.Valid_To)
                            OR (a.Valid_To = b.Valid_From)
                            OR (a.Valid_From = b.Valid_To)
                          )
GROUP BY a.id;



  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

  2. Не мога да разбера как да стартирам mysqli_multi_query и да използвам резултатите от последната заявка

  3. Списъкът с brew услуги показва, че mysql работи, но не може да се свърже

  4. Качете изображение директно през командния ред на mySQL

  5. Проблеми с PHP/MySQL кодиране. â�� вместо определени знаци