-1

我有两个表:水晶报表替换功能

Table 1: 

Id stringval 
-- --------- 
1 do you work on date XXXX and date @@@@ 

Table 2: 

Id CharString ValueString 
-- ---------- ----------- 
1 XXXX  5-5-2013 
2 @@@@  10-5-2013 

我想返回下面的字符串值: 你的日期2013年5月5日和日工作2013年10月5日

这可以使用Crystal Reports来实现吗?

或者,可以使用Sql Server来实现吗?

回答

0

假设XXXX@@@@CharString列的Table2列中的任何其他值只会作为占位符出现,所以也可以使用sql server来实现您的目标。像这样的查询会这样做:

DECLARE @CharString VARCHAR(100) 
DECLARE @ValueString VARCHAR(100) 
DECLARE @SearchString VARCHAR(100) 
DECLARE @ResultString VARCHAR(100) 

SELECT @SearchString = stringval FROM Table1 
SELECT @ResultString = stringval FROM Table1 

DECLARE c CURSOR FAST_FORWARD FOR 
SELECT CharString, ValueString 
    FROM Table2 

OPEN c 

FETCH NEXT FROM c INTO @CharString, @ValueString 

WHILE @@FETCH_STATUS = 0 
BEGIN 
    IF PATINDEX('%' + @CharString + '%', @SearchString) <> 0 
     SET @ResultString = REPLACE(@ResultString, @CharString, @ValueString) 

    FETCH NEXT FROM c INTO @CharString, @ValueString 
END 

CLOSE c 
DEALLOCATE c 

SELECT @ResultString 
+0

谢谢先生。这是正确的 – user1460564

0

这里的选项是从表格中取出字符串值,manuplate是水晶报表的字符串函数。

我不知道这将如何工作,但试试看。

  1. 采取你对日期XXXX和日期@@@@成字符串工作,并通过空间分割然后extact XXXX@@@@现在采取必要的值5-5 -20132013年10月5日中varaibles现在加入琴弦一样

    + 2013年5月5日+“和日期‘+ 2013年10月5日

  2. ’你对数据进行工作”