And*_*rey 1 sql sql-server subquery multiple-columns
我有SQL查询:
SELECT DISTINCT t1.inn,
t1.idx,
(SELECT TOP 1 adr
FROM t2
WHERE t2.idx = t1.idx
AND t2.inn = t1.inn) ADR,
(SELECT TOP 1 name
FROM t2
WHERE t2.idx = t1.idx
AND t2.inn = t1.inn) NAME
FROM t1
Run Code Online (Sandbox Code Playgroud)
是否可以将一个子查询改为两个子查询?(即同时选择TOP 1 ADR和NAME).服务器:MS SQL 2008-2012.
你可以这样做cross apply:
select distinct t1.INN, t1.IDX, t2.adr, t2.name
from t1 cross apply
(select top 1 adr, name
from t2
where t2.idx = t1.idx and t2.inn = t1.inn
) t2;
Run Code Online (Sandbox Code Playgroud)
但是,您选择的是没有订单的行.如果只有一行匹配,则可以使用常规连接执行此操作.
| 归档时间: |
|
| 查看次数: |
109 次 |
| 最近记录: |