我有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
是否有可能使一个子查询而不是两个? (即同时选择TOP 1 ADR和NAME)。服务器:MS SQL 2008-2012。
您可以在没有ORDER BY的情况下使用'TOP'。你期望什么结果? –
我想获得独特的INN和IDX组合与一些ADR和名称。每对INN-IDX对应ADR-NAME的编号。我想要得到他们中的任何一个(不管是什么)。例如。在表中存在3行:INN = 111,IDX = 101,ADR = A1,NAME = N1; INN = 111,IDX = 101,ADR = B1,NAME = N1; INN = 222,IDX = 202,ADR = A2,NAME = N2;我想要得到两行结果:INN = 111,IDX = 101和INN = 222,IDX = 202,并带有任何ADR(即对第一行无关紧要的A1或B1) – Andrey