读书人

关于 left join 有关问题

发布时间: 2012-05-29 12:16:00 作者: rapoo

关于 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 '+@tablename+' [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 这个列名的

[解决办法]
探讨

楼上的,你这样虽然不报错,但是罗列出来的内容 乱套了的

读书人网 >SQL Server

热点推荐