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

SQL - Tạo chế độ xem từ nhiều bảng

Công đoàn không phải là những gì bạn muốn. Bạn muốn sử dụng các phép nối để tạo các hàng đơn. Có một chút không rõ ràng về điều gì tạo nên một hàng duy nhất trong các bảng của bạn và chúng thực sự liên quan với nhau như thế nào và cũng không rõ liệu một bảng sẽ có các hàng cho mọi quốc gia trong mỗi năm hay không. Nhưng tôi nghĩ điều này sẽ hiệu quả:

CREATE VIEW V AS (

  SELECT i.country,i.year,p.pop,f.food,i.income FROM
    INCOME i
  LEFT JOIN 
    POP p 
  ON
    i.country=p.country
  LEFT JOIN
    Food f
  ON 
    i.country=f.country
  WHERE 
    i.year=p.year
  AND
    i.year=f.year
);

Phép nối bên trái (bên ngoài) sẽ trả về các hàng từ bảng đầu tiên ngay cả khi không có hàng nào phù hợp trong bảng thứ hai. Tôi đã viết điều này giả sử bạn sẽ có một hàng cho mọi quốc gia cho mỗi năm trong bảng thu nhập. Nếu bạn không làm mọi thứ trở nên hơi rắc rối vì MySQL không tích hợp sẵn hỗ trợ cho FULL OUTER JOINs lần cuối tôi đã kiểm tra. Có nhiều cách để mô phỏng nó, và chúng sẽ liên quan đến các công đoàn. Bài viết này đi sâu vào chủ đề:http://www.xaprb.com/blog/2006/05/26/how-to-write-full-outer-join-in-mysql/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để giải mã PostgreSQL bytea cột hex thành int16 / uint16 trong r?

  2. Sử dụng kết nối SSL PostgreSQL không gỉ với chứng chỉ tự ký

  3. Quản lý đóng băng trong PostgreSQL

  4. Cách sqrt () hoạt động trong PostgreSQL

  5. Spring + Hibernate:Sử dụng bộ nhớ cache của gói truy vấn