sql >> Databáze >  >> RDS >> Mysql

MySQL překrývající se časové úseky na základě kritérií

Pokud správně rozumím vašemu problému, potřebujete levé spojení místo Vnitřní spojení -

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. Návrh databáze pro uložení barevného vzoru obrázku v MySQL pro vyhledávání obrázku podle barvy

  2. Upozornění:Navazování SSL připojení bez ověření identity serveru nedoporučujeme

  3. Zřetězení sloupce skupinou v R

  4. Připojte se k nám v Las Vegas na SQLintersection a ušetřete 100 $