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

SQL CHỌN nhiều điều kiện nhiều mối quan hệ với nhiều

SELECT p2p.PageID
FROM
    PageToProduct as p2p
    inner join Product as pr
        on p2p.Product = pr.Product
    inner join PageToProductToRate as p2p2r
        on p2p2r.PageToProductID = p2p.PageToProductID
    inner join ProductRates as r
        on r.ProductRatesID = p2p2r.ProductRatesID 
WHERE
          (pr.Product = 'ALMOND' AND r.CommissionType = 'PREMIUM' AND r.Rate = 0.25) 
      OR  (pr.Product = 'WALNUT' AND r.CommissionType = 'SERVICE FEE' AND r.Rate = 1.25)
      OR  (pr.Product = 'HAZELNUT' AND r.CommissionType = 'EXCESS' AND r.Rate = 1.68)
GROUP BY p2p.PageID
HAVING COUNT(*) = 3; /* requires all three are present, as long as no rows are duplicate */


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Trong SQL, làm cách nào để tôi có thể chia các giá trị trong tổng số mặt nạ bit thành một chuỗi được phân tách bằng dấu phẩy

  2. Nhóm DateTime thành các khoảng thời gian 5,15,30 và 60 phút

  3. Làm cách nào để tạo một ràng buộc duy nhất của SQL dựa trên 2 cột?

  4. Sử dụng các tham số tùy chọn khi giá trị đến là null?

  5. Truy vấn chạy chậm với biểu thức ngày tháng, nhưng nhanh với chuỗi ký tự