内搜索 怎么取外层搜索的字段值

hansonboy 2018-06-04 11:29:04
sql语句:
Select Max(Id) As Id ,Title,(Select FieldC From TableC Where AId= 这里怎么取外搜索 的Max(Id)值 ) From tableA A Inner Join TableB B On B.Id=A.BId Where B.FieldsA='xxx' Group By A.Title
...全文
1243 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2018-06-13
  • 打赏
  • 举报
回复
可以直接把表达式放进去,不过,如果这个 Id 在子查询的表中有同名的列,那么就需要在这个 Id 列名前加上 别名.
Select Max(Id) As Id ,Title,(Select FieldC From TableC Where AId=   Max(Id)      ) From tableA A Inner Join TableB B On B.Id=A.BId Where B.FieldsA='xxx' Group By A.Title 
tiegenZ 2018-06-13
  • 打赏
  • 举报
回复
试试这个: Select H.id, H.Title, T. FieldC From TableC T Inner Join( Select Max(Id) As Id , Title From tableA A Inner Join TableB B On B.Id=A.BId Where B.FieldsA='xxx' Group By A.Title )H on T.AId= H. Id
吉普赛的歌 版主 2018-06-04
  • 打赏
  • 举报
回复
SELECT T.Id,
       T.Title,
       C.FieldC
FROM   (
           SELECT MAX(Id) AS Id,
                  Title
           FROM   tableA A
                  INNER JOIN TableB B
                       ON  B.Id = A.BId
           WHERE  B.FieldsA = 'xxx'
           GROUP BY
                  A.Title
       )                  AS T
       INNER JOIN TableC  AS C
            ON  C.AId = T.Id
卖水果的net 版主 2018-06-04
  • 打赏
  • 举报
回复
Select Max(Id) As Id ,Title, (Select FieldC From TableC Where AId= Max(A.Id) ) -- 直接写就行了,把外部表名(或别名)写上 From tableA A Inner Join TableB B On B.Id=A.BId Where B.FieldsA='xxx' Group By A.Title
听雨停了 2018-06-04
  • 打赏
  • 举报
回复

SELECT a.id,a.Title,c.FieldC FROM (
Select Max(Id) As Id ,Title
From tableA A 
Inner Join TableB B On B.Id=A.BId 
Where B.FieldsA='xxx' 
Group By A.Title
) a
INNER JOIN TableC AS c ON a.id=c.Aid
也不知道是不是这个意思啊

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧