求sql语句?(急)

wangjungui_1983 2010-10-17 04:24:49
比较表Base_Gx_ProductsInfo中ProductsName,Trademark,ProductsModel,CompanyName这些记录是否在表Base_State_ProductsInfo中的ProductsName,Trademark,ProductsModel,CompanyName是否存在。如果存在更新表Base_Gx_ProductsInfo中的字段Status为1否则为0,现在表Base_Gx_ProductsInfo中没有CompanyName字段,他通过customerId和Base_CustomerInfo表中customerId关联,如何关联上Base_CustomerInfo表中存在CompanyName。谢谢各位?
...全文
65 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
SQLCenter 2010-10-17
  • 打赏
  • 举报
回复
update a set a.Status = case when b.ProductsName is null then 0 else 1 end from Base_Gx_ProductsInfo a
inner join Base_CustomerInfo c on a.customerId=c.customerId
left join Base_State_ProductsInfo b on a.ProductsName=b.ProductsName and a.Trademark=b.Trademark and a.ProductsModel=b.ProductsModel and c.CompanyName=b.CompanyNam
dawugui 2010-10-17
  • 打赏
  • 举报
回复
update Base_Gx_ProductsInfo set Status =
(case when exists (select 1 from (select b.ProductsName,b.Trademark,b.ProductsModel,c.CompanyName from Base_State_ProductsInfo b, Base_CustomerInfoc where b.customerId = c.customerId) m
where m.ProductsName=n.ProductsName and m.Trademark=n.Trademark and m.ProductsModel=n.ProductsModel and m.CompanyName=n.CompanyName) then 1 else 0 end)
from Base_Gx_ProductsInfo n
dawugui 2010-10-17
  • 打赏
  • 举报
回复
update a set Status =
(case when exists (select 1 from (select b.ProductsName,b.Trademark,b.ProductsModel,c.CompanyName from b,c where b.customerId = c.customerId) m
where m.ProductsName=n.ProductsName and m.Trademark=n.Trademark and m.ProductsModel=n.ProductsModel and m.CompanyName=n.CompanyName) then 1 else 0 end)
from a n

22,301

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧