Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pełne łączenie MySql (unia) i porządkowanie w wielu kolumnach dat

po prostu używając struktury bazy danych i zapytania, a ponieważ FULL OUTER JOIN nie jest dostępne w MySQL, myślę, że rozwiązaniem może być to:

SELECT
    `newsid`,
    `text`,
    CASE
        WHEN `datetime` IS NULL THEN `pdate`
        ELSE `datetime`
    END as `datetime,
    `pcount`
(
SELECT *
FROM `news` as `n`
    LEFT OUTER JOIN (
                        SELECT count(pictureid) as `pcount`, datetime as `pdate`
                        FROM picture GROUP BY DATE(datetime)
                    ) as p ON DATE(n.datetime) = DATE(p.datetime) 
    UNION
SELECT * 
    FROM `news` as `n`
    RIGHT OUTER JOIN (
                        SELECT count(pictureid) as `pcount`, datetime as `pdate`
                        FROM picture GROUP BY DATE(datetime)
                    ) as p ON DATE(n.datetime) = DATE(p.datetime) 

)


  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 FULLTEXT wyszukuj wiele słów

  2. Jak wygenerować losową liczbę bez powtarzania w bazie danych za pomocą PHP?

  3. Wybierz TOP X (lub dolny) procent dla wartości liczbowych w MySQL

  4. mysql aktualizuje wiele wierszy, każdy z własnymi wartościami, za pomocą instrukcji CASE

  5. Połącz się z MySQL za pomocą JDBC przez sieć