mcb*_*mcb 0 t-sql sql-server oracle plsql
我怎样才能将以下plsql转换为tsql.B.STATUS(+)=1在tsql中不起作用.
Select * from A,B where A.ID=B.ID(+)
WHERE B.STATUS(+)=1
Run Code Online (Sandbox Code Playgroud)
这不会返回mssql中的行,因为它不理解B.STATUS是可选的
Select * from A LEFT JOIN B ON A.ID=B.ID
WHERE B.STATUS=1
Run Code Online (Sandbox Code Playgroud)
当条件应用于WHERE子句中的外部表时,OUTER JOIN将更改为INNER JOIN.在ON子句中,它保持为OUTER.
你需要推断谓词"in"
Select * from A LEFT JOIN B ON A.ID = B.ID AND B.STATUS=1
Run Code Online (Sandbox Code Playgroud)
要么
Select * from
A LEFT JOIN
(SELECT * FROM B WHERE B.STATUS=1) B1 ON A.ID = B1.ID
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
205 次 |
| 最近记录: |