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

Làm cách nào để tạo INTERSECT bằng Eloquent Builder mà không cần có bộ sưu tập

Tôi có cái này trong một trong những bộ điều khiển của mình, nó đang sử dụng EXCEPT , nhưng bạn có thể thay đổi nó thành giao nhau.

Tôi xây dựng trước 2 truy vấn riêng biệt. Hơn tôi làm:

$query = Thread::query() 
    ->fromRaw( 
        '(SELECT * FROM ((' . $unioned->toSql() . ') EXCEPT ' . $excludeExplicit->toSql() . ') AS threads) AS threads', 
        array_merge($unioned->getBindings(), $excludeExplicit->getBindings()) 
    );

Tôi rất tò mò muốn tìm hiểu xem đây có phải là cách tốt nhất hay không. Ít nhất thì nó cũng có lợi cho tôi.



  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 chuyển đổi thời gian thành ngày tháng trong múi giờ địa phương trong khi truy vấn

  2. PostgreSQL:Làm thế nào để SUM thuộc tính bao gồm trường JSONB và giữ lại hình dạng bảng?

  3. Sao chép dữ liệu Bảng từ DB này sang DB khác

  4. Postgresql - Truy vấn chạy nhanh hơn rất nhiều với enable_nestloop =false. Tại sao người lập kế hoạch không làm đúng?

  5. Tối ưu hóa việc xóa Postgres của các bản ghi mồ côi