将多个子查询转换为 on join

2021-09-10 00:00:00 sql tsql sql-server

我的 sql 中有多个子查询

I have multiple sub-queries in my sql

SELECT *, 
(SELECT Col1 FROM MYTABLE2 WHERE SAME) AS Col1,
(SELECT Col2 FROM MYTABLE2 WHERE SAME) AS Col2,
(SELECT Col3 FROM MYTABLE2 WHERE SAME) AS Col3,
(SELECT Col4 FROM MYTABLE2 WHERE SAME) AS Col4,
FROM MYTABLE1 WHERE XXX 

如何将其转换为一个 JOIN?子查询相同,只是 Select column-name 不同.

How can I convert this to in one JOIN? Sub Query is same only the Select column-name is different.

推荐答案

SELECT MYTABLE1.*, MYTABLE2.*
  FROM MYTABLE1 
  LEFT OUTER JOIN MYTABLE2  
    ON same 
 WHERE XXX 

ON 不必关联两个表
这更像是一个过滤的交叉连接

The ON does not have to relate the two tables
This is more like a filtered cross join

相关文章