Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

MySql tham gia đầy đủ (liên hiệp) và đặt hàng trên nhiều cột ngày

chỉ sử dụng cấu trúc cơ sở dữ liệu và truy vấn của bạn, và vì FULL OUTER JOIN không có sẵn trong MySQL, tôi nghĩ giải pháp có thể là sau:

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. Cách chạy truy vấn SQL RAW trong PhalconPHP

  2. DATATYPE nào tốt hơn để sử dụng TEXT hoặc VARCHAR?

  3. Có ai biết về một ORM PHP tốt KHÔNG sử dụng PDO không?

  4. Ví dụ về MySQL SOUNDEX ()

  5. Làm cách nào để cho phép khách hàng đăng nhập vào trang web của bạn bằng tài khoản Google của họ?