消息 207,级别 16,状态 1,第 2 行 列名 'FilePath' 无效。
updatedbo.tb_UnitInfosetCom_Logo=FilePathselecta.FilePathfromdbo.tb_UnitImageainnerjo...
update dbo.tb_UnitInfo
set Com_Logo=FilePath
select a.FilePath from dbo.tb_UnitImage a
inner join dbo.tb_UnitInfo b on a.RelationID=b.Com_ID
where RelationID not in (
select RelationID from dbo.tb_UnitImage group by RelationID having count(*) > 1) 展开
set Com_Logo=FilePath
select a.FilePath from dbo.tb_UnitImage a
inner join dbo.tb_UnitInfo b on a.RelationID=b.Com_ID
where RelationID not in (
select RelationID from dbo.tb_UnitImage group by RelationID having count(*) > 1) 展开
1个回答
展开全部
update dbo.tb_UnitInfo
set Com_Logo=FilePath
到此为止,你的一个语句已经完成。不晓得你用哪个数据库管理系统,如果是SQLServer,这里的FilePath应该写成:@FilePath,代表一个变量。但看样子你似乎又是想用后面的select值来更新,那么大概可以写成:
update dbo.tb_UnitInfo
set Com_Logo=(
select a.FilePath from dbo.tb_UnitImage a
inner join dbo.tb_UnitInfo b on a.RelationID=b.Com_ID
where RelationID not in (
select RelationID from dbo.tb_UnitImage group by RelationID having count(*) > 1))
-- 最后这个select应该是得到一个唯一值供update使用。
set Com_Logo=FilePath
到此为止,你的一个语句已经完成。不晓得你用哪个数据库管理系统,如果是SQLServer,这里的FilePath应该写成:@FilePath,代表一个变量。但看样子你似乎又是想用后面的select值来更新,那么大概可以写成:
update dbo.tb_UnitInfo
set Com_Logo=(
select a.FilePath from dbo.tb_UnitImage a
inner join dbo.tb_UnitInfo b on a.RelationID=b.Com_ID
where RelationID not in (
select RelationID from dbo.tb_UnitImage group by RelationID having count(*) > 1))
-- 最后这个select应该是得到一个唯一值供update使用。
更多追问追答
追问
update dbo.tb_UnitInfo
set Com_Logo=FilePath
select a.FilePath from dbo.tb_UnitImage a
inner join dbo.tb_UnitInfo b on a.RelationID=b.Com_ID
不是一条,是多条啊,就这个提示出错;是sql数据库中执行的;
追答
你的语法就是错误的,第二行的FilePath没有定义。
而且这个语句如果执行,那么表dbo.tb_UnitInfo的Com_Logo字段将全部变成同样的值,是你的本意吗?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询