用 case 不要忘了 列别名create view aa as select case 列1 when 1 then '好' when 2 then '中' else '差'
end 别名 ---这个不要忘了from 表 go
为什么我这样写不对?请pengdali指教 CREATE VIEW dbo.View_Con_Confirm AS SELECT TOP 10 PERCENT dbo.CON_ORDER.Contract_No AS 合同号, dbo.CON_ORDER.Order_No AS 订单号, dbo.CON_ORDER.Entry_Person AS 填写人, dbo.CON_ORDER.BUSend_Dt AS 合同处理时间, dbo.CON_ORDER.ConSend_Dt AS CTOEC合同发送时间, dbo.CON_ORDER.ConPrint_Dt AS GOEC合同接收时间, dbo.CON_ORDER.ConProduct_Dt AS 要求产成时间, case when dbo.CON_ORDER.ConPrint_Dt is null then dbo.CON_ORDER.ConPrint_Dt else dbo.CON_ORDER.Product_Dt end AS GOEC确认产成时间, dbo.CON_ORDER.Product_Dt AS 实际产成时间, dbo.CON_ORDER.Out_Dt AS 出厂时间, dbo.CON_ORDER.ConGet_Dt AS 进厂时间, dbo.CONTROLLER_ORDER.BasePrice + dbo.CONTROLLER_ORDER.OptPrice + dbo.CONTROLLER_ORDER.OtherPrice AS 总价 FROM dbo.CON_ORDER INNER JOIN dbo.CONTROLLER_ORDER ON dbo.CON_ORDER.Contract_No = dbo.CONTROLLER_ORDER.Contract_No WHERE (dbo.CON_ORDER.BUSend_Dt IS NOT NULL) ORDER BY dbo.CON_ORDER.ConPrint_Dt DESC
老是说:查询设计器不支持 CASE SQL 构造。怎么回事。
------------------------- case when dbo.CON_ORDER.ConPrint_Dt is null --是is not null吗?? then dbo.CON_ORDER.ConPrint_Dt else dbo.CON_ORDER.Product_Dt end AS GOEC确认产成时间, --------------------------
我这里可以建好!你的join有逻辑错误吗?你报什么错?
出错如下: 查询定义不同 对当前窗格内容做语法分析时发生以下错误: 查询设计器不支持 CASE SQL 构造 。哎呀有信箱吗我发那张出错图片给你看看
as
select case 列1 when 1 then '好' when 2 then '中' else '差'
end 别名 ---这个不要忘了from 表
go
AS
SELECT TOP 10 PERCENT dbo.CON_ORDER.Contract_No AS 合同号,
dbo.CON_ORDER.Order_No AS 订单号, dbo.CON_ORDER.Entry_Person AS 填写人,
dbo.CON_ORDER.BUSend_Dt AS 合同处理时间,
dbo.CON_ORDER.ConSend_Dt AS CTOEC合同发送时间,
dbo.CON_ORDER.ConPrint_Dt AS GOEC合同接收时间,
dbo.CON_ORDER.ConProduct_Dt AS 要求产成时间,
case
when dbo.CON_ORDER.ConPrint_Dt is null then
dbo.CON_ORDER.ConPrint_Dt
else
dbo.CON_ORDER.Product_Dt
end AS GOEC确认产成时间,
dbo.CON_ORDER.Product_Dt AS 实际产成时间, dbo.CON_ORDER.Out_Dt AS 出厂时间,
dbo.CON_ORDER.ConGet_Dt AS 进厂时间,
dbo.CONTROLLER_ORDER.BasePrice + dbo.CONTROLLER_ORDER.OptPrice + dbo.CONTROLLER_ORDER.OtherPrice
AS 总价
FROM dbo.CON_ORDER INNER JOIN
dbo.CONTROLLER_ORDER ON
dbo.CON_ORDER.Contract_No = dbo.CONTROLLER_ORDER.Contract_No
WHERE (dbo.CON_ORDER.BUSend_Dt IS NOT NULL)
ORDER BY dbo.CON_ORDER.ConPrint_Dt DESC
case
when dbo.CON_ORDER.ConPrint_Dt is null --是is not null吗??
then
dbo.CON_ORDER.ConPrint_Dt
else
dbo.CON_ORDER.Product_Dt
end AS GOEC确认产成时间,
--------------------------
查询定义不同
对当前窗格内容做语法分析时发生以下错误:
查询设计器不支持 CASE SQL 构造
。哎呀有信箱吗我发那张出错图片给你看看