当前位置: 代码迷 >> Sql Server >> 关于 left join 有关问题
  详细解决方案

关于 left join 有关问题

热度:64   发布时间:2016-04-27 12:38:03.0
关于 left join 问题
Select * From eit_InfoGroup[a] Left Join (Select CustomTable From eit_ContentModel where id = (select ModelID from eit_infogroup where id=34120))[s] on [a].[Id]=[s].Aid


关联表是动态的,所以得根据 eit_InfoGroup 中的 ModelID 来获取 表明

这样写好像不行啊 ,帮帮忙

------解决方案--------------------
SQL code
(Select CustomTable From eit_ContentModel where id = (select ModelID from eit_infogroup where id=34120))--你的意思是上面的语句返回的是表的名字??如果是这样,那么需要动态执行:declare @tablename varchar(20)select @tablename=(Select CustomTable From eit_ContentModel where id = (select ModelID from eit_infogroup where id=34120))exec('Select * From eit_InfoGroup[a] Left Join [email protected]+' [s] on [a].[Id]=[s].Aid')
------解决方案--------------------
探讨

SQL code


try:

exec('Select * From eit_InfoGroup[a] Left Join '+
(Select CustomTable From eit_ContentModel
where id = (select ModelID from eit_infogroup where id=34120))
+' [s] on [a].[Id]=[s].Ai……

------解决方案--------------------
探讨

我执行了 也是不行哦,跟我上面写的 报一样的错,无法获取 关联表的 字段

------解决方案--------------------
探讨

错误提示:列名 'Aid' 无效。

其实我那个关联表里 有 Aid 这个列名的

------解决方案--------------------
探讨

楼上的,你这样虽然不报错,但是罗列出来的内容 乱套了的
  相关解决方案