在SQL查询中选择多个列时使用REPLACE

时间:2014-01-15 15:47:08

标签: sql sql-server select replace

SELECT ComputerName, time, REPLACE(room, 'OU=CL_','') FROM ComputerInvTracking
ORDER BY CONVERT (datetime, time, 103) DESC

我正在尝试从表格中选择三列来生成报告,但是想要删除“房间”列中包含的一些信息。我想要删除的信息是同一个字段中的两个不同的字符串,第一个字符串显示在上面的代码中,第二个字符串我现在不记得了,但只是一串字符。

上面的代码是我目前所拥有的,但它不起作用!我可能走错了路...... 我收到了这个错误:

  

[rsFieldReference]文本框'room'的Value表达式是指   到了现场'房间'。报表项表达式只能引用字段   在当前数据集范围内,或者如果在聚合内,则   指定的数据集范围。

使用MS SQL。

如果有人有任何建议,我们将不胜感激!

1 个答案:

答案 0 :(得分:1)

错误只是您将列名从room更改为REPLACE(room, 'OU=CL_',''),因此您使用的工具说它无法在您的查询中找到列room 。所以只需添加一个别名:

SELECT ComputerName, 
       time, 
       REPLACE(room, 'OU=CL_','') as room 
  FROM ComputerInvTracking
 ORDER BY CONVERT (datetime, time, 103) DESC