我有一列Conveyor
,表Report_Line
中有输送机名称条目,我想用输送机编号代替
Belt - 1 | Slack - 2 | Chain - 3
这是实时场景,一旦一行添加了数据,根据输送机的名称,它应该被替换为相应的编号。
我尝试用Union语句替换查询,但没有成功,抛出错误
SELECT TOP 1 *
FROM Report_Line
ORDER BY Serial_no DESC
SELECT REPLACE(Conveyor, 'Slack', '2')
UNION
SELECT REPLACE(Conveyor, 'Belt', '1')
UNION
SELECT REPLACE(Conveyor, 'Chain', '3')
GO
您可以尝试使用一个内联的硬编码表,并通过输送机名称连接到它。
类似这样的东西:
Select Top 1* FROM Report_Line
Left Join
(values ('Slack', '2'),('Belt', '1'),('Chain', '3')) sidetable(conveyor_name,id)
on sidetable.conveyor_name = Report_Line.Conveyor
Order by Serial_no DESC
GO