-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. ’你對數據進行工作」