这个视图怎么建?

ayukowa 2004-11-05 02:55:21
有一个表结构如下:
货物名称
规格型号
熔炼号
重量
时间
发货单位
我的要求是建一个视图,结构为
货物名称
代号
重量
时间
发货单位
要求是:根据“货物名称”的不同当“货物名称”=铝锭时,“代号”字段的内容是“熔炼号”的内容,当“货物名称”=合金时,“代号”字段的内容是“规格型号”的内容,请问,这个视图怎么写?谢谢!
...全文
105 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayukowa 2004-11-05
  • 打赏
  • 举报
回复
谢谢,但应去掉熔炼号和规格型号上的单引号,如下
Create View ThisName
AS
select
case 货物名称 when '铝锭' then 熔炼号
when '合金' then 规格型号

end as 货物名称
from tablename
ORARichard 2004-11-05
  • 打赏
  • 举报
回复
sorry,没注意 多写了个as

应该是如下:
create view [dbo].[newview]
as
select
case 货物名称 when '铝锭' then '熔炼号'
when '合金' then '规格型号'

end as 货物名称
from tablename
postfxj 2004-11-05
  • 打赏
  • 举报
回复
用case語句很容易搞定
case field when 條件 then 結果
when ...
end
ORARichard 2004-11-05
  • 打赏
  • 举报
回复
我没仔细看小新的语句是否正确,但应该用case的。如果他的语句是对的,那你用select * from newview就能看到你所要的结果了
ORARichard 2004-11-05
  • 打赏
  • 举报
回复
如用小新的语句:
create view as [dbo].[newview]
as
select
case 货物名称 when '铝锭' then '熔炼号'
when '合金' then '规格型号'

end as 货物名称
from tablename
ORARichard 2004-11-05
  • 打赏
  • 举报
回复
ayukowa(很爱一个人)

试过了,提示“查询设计器不支持 CASE SQL 构造”


查询设计器不支持,但你可以用create view去做啊
ayukowa 2004-11-05
  • 打赏
  • 举报
回复
可能是我描述的不清楚,举例
表czjl
货物名称 规格型号 熔炼号 重量 时间
铝锭 null 1 10 2004-10-1
铝锭 null 2 20 2004-10-1
合金 1-1 null 100 2004-10-1
合金 1-2 null 200 2004-10-1
要求产生视图如下:
货物名称 代号 重量 时间
铝锭 1 10 2004-10-1
铝锭 2 20 2004-10-1
合金 1-1 100 2004-10-1
合金 1-2 200 2004-10-1
视图该如何写?谢谢!
  • 打赏
  • 举报
回复
Create View ThisName
AS
select
case 货物名称 when '铝锭' then '熔炼号'
when '合金' then '规格型号'

end as 货物名称
from tablename
ayukowa 2004-11-05
  • 打赏
  • 举报
回复
试过了,提示“查询设计器不支持 CASE SQL 构造”
ZHANGWEI15 2004-11-05
  • 打赏
  • 举报
回复
select
case 货物名称 when '铝锭' then '熔炼号'
when '合金' then '规格型号'

end as 货物名称
from tablename

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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