簡體   English   中英

使用另一個表中的列按組選擇最大

[英]select max using group by column from another table

給出下表:

tableA(v1,v2)
tableB(v3,v4)
tableC(v5,v6)

我想編寫一個查詢,如下所示:

SELECT MAX(v1)
FROM tableA
WHERE v2 IN (SELECT v3
             FROM tableB
             WHERE v4 IN (SELECT v5
                          FROM tableC
                         )
             )
GROUP BY v6

只有通過使用IN才有可能發生這種情況? 我知道如何通過在三個表之間使用JOIN來編寫它,但是我不想使用JOIN。

不,如果不使用JOIN (至少在MS-SQL中)是不可能做到這一點的。

GROUP BY子句中的表達式可以包含表的列,FROM子句中的派生表或視圖。 這些列不需要出現在SELECT子句列表中。

http://msdn.microsoft.com/en-us/library/ms177673.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM