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

Úplné připojení MySql (sjednocení) a objednávání na více sloupcích data

stačí použít strukturu vaší databáze a váš dotaz, a protože FULL OUTER JOIN není v MySQL k dispozici, myslím, že řešením by mohlo být toto:

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. mysql vyvolá neznámý sloupec 'mac' v 'seznamu polí'

  2. Přístup k Mysql odepřen kvůli chybě uživatele?

  3. Zabránění poklesu tabulky u cílového schématu v Oracle Streams

  4. Dotaz MYSQL / data starší než 1 týden (všechna data a časy v UTC)