SQLServer中,在WHERE条件中使用别名,列名无效

使用子查询

选择*(SELECTTEMP.ROWID,P.ID,P.SORT,P.PDT_BASIC_CODE,P.PDT_BASIC_TITLE,P.PDT_TYPE_TITLE,P.PDTPRO、P.PDTPIC、P.PDTPIC1、P.PDTPRICE、P.CUS_BASIC_CODE,       P.CUS_BASIC_TITLE,     P.PRICETABLENAME,     P.BASEUNIT_TITLE,       P.PDTSTANDARD,      ISNULL(P.CUS_BASIC_TITLE,'')+ISNULL(P.PDT_TYPE_TITLE,'')+ISNULL(P.PDT_BASIC_TITLE,'')+ISNULL(P.PDTPRO,'')+ISNULL(P.BRAND,'')+ISNULL(P.PDTPRICE,'')ASPDT、P.BRAND、P.PDTAREA、P.NEWDATE、B.DIC_AREA_CODE、B.DIC_AREA_TITLEFROMCUS_PRODUCTP)TINNERJOINCUS_BASICBONB.CODE=T.CUS_BASIC_CODE,(SELECTTOP((1-1)*25+25)ROW_NUMBER()OVER(ORDERBYSORTDESC)ROWID,IDFROMCUS_PRODUCTPWHERE1=1ANDT.PDTLIKE'%四川%'请输入输入代码使这句话生效)TEMPWHERET.IFUSED=1ANDT.ID=TEMP.IDANDTEMP.ROWID>((1-1)*25)按TEMP.ROWIDASC排序

消息207,级别16,状态1,第2行列名'FilePath'无效。

Updatedbo.tb_UnitInfosetCom_Logo=FilePath到目前为止,您的其中一项陈述已经完成。
不知道你使用的数据库管理系统如果是SQLServer的话,这里的FilePath应该写成:@FilePath,代表一个变量。
但看起来你想稍后使用选择值来更新,所以你可能会写:updatedbo.tb_UnitInfosetCom_Logo=(selecta.FilePathfromdbo.tb_UnitImageainnerjoindbo.tb_UnitInfobona.RelationID=b.Com_IDwhereRelationIDnotin(selectRelationIDfromdbo.tb_UnitImagegroupbyRelationIDhavingcount(*)>1))--最后一个选项应该获得一个唯一的值来应用更新。