首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

关于 left join 有关问题

2012-05-29 
关于 left join 问题Select * From eit_InfoGroup[a] Left Join(Select CustomTable From eit_ContentMode

关于 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 这个列名的

[解决办法]
探讨

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

热点排行