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

Chuyển đổi SQL thừa kế Outer JOIN * =, =* thành ANSI

Tôi nghĩ rằng vấn đề với bản dịch của bạn là bạn đang sử dụng các điều kiện trên các bảng bên phải trong where thay vì trong on mệnh đề.
Khi tôi cố gắng dịch nó, đây là bản dịch tôi đã có:

FROM counterparty cp
LEFT JOIN counterparty_alias ca1 ON cp.code = ca1.counterparty_code 
                                AND ca1.alias = 'Party1'
LEFT JOIN counterparty_alias ca2 ON cp.code *= ca2.counterparty_code 
                                AND ca2.alias = 'Party2'
LEFT JOIN party p ON cp.code = p.child_code
WHERE cp.category in ('CAT1','CAT2')

Tuy nhiên, thật khó để biết liệu tôi có chính xác hay không vì bạn đã không cung cấp dữ liệu mẫu, kết quả mong muốn hoặc thậm chí là một truy vấn hoàn chỉnh.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Vi phạm PK sau khi sao chép giao dịch

  2. URL kết nối jTDS JDBC với MS SQL Server 2005 Express là gì

  3. Tách chuỗi bằng câu lệnh sql (địa chỉ ip)

  4. SQL Server:Sự khác biệt giữa CROSS JOIN và FULL OUTER JOIN là gì?

  5. Bắt nhiều loại dữ liệu trong SQL Server