我有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