Complex methods
    jda 
    jda at his.com
       
    Sat Jan 21 10:31:42 CST 2006
    
    
  
Hi Ruslan,
I think I know the answer to this, but I thought I'd ask...
I want to string together two string operations in a method. The 
first strips out certain words from the string. The second returns 
the first line (ending in a return charcater) in that string.
I have done this, and it works, but the SQL code for each section of 
a CASE/WHEN/ELSE clause is enormous (here's an example from a single 
WHEN clause, for just one word to be removed from the string):
IF(Left((CASE WHEN 
LOCATE(UPPER('al-'),UPPER(coalesce(authors,editors)))=1 THEN 
RIGHT(coalesce(authors,editors), LENGTH(coalesce(authors,editors)) - 
LENGTH('al-')) WHEN LOCATE(UPPER('von 
'),UPPER(coalesce(authors,editors)))=1 THEN 
RIGHT(coalesce(authors,editors), LENGTH(coalesce(authors,editors)) - 
LENGTH('von ')) WHEN LOCATE(UPPER('the 
'),UPPER(coalesce(authors,editors)))=1 THEN 
RIGHT(coalesce(authors,editors), LENGTH(coalesce(authors,editors)) - 
LENGTH('the ')) ELSE coalesce(authors,editors) END)), 
(LOCATE(chr(13), (CASE WHEN 
LOCATE(UPPER('al-'),UPPER(coalesce(authors,editors)))=1 THEN 
RIGHT(coalesce(authors,editors), LENGTH(coalesce(authors,editors)) - 
LENGTH('al-'))
This makes debugging terribly difficult, and of course can easily 
generate SQL statements of thousands of characters.
The question is, is there a simple way to get the result of the first 
SQL query and then feed that to the second, all within one SQL 
statement? I suppose I can create temporary fields to handle 
sequential calls, but I'd rather not (that gets complex, too).
I hope this question is clear.
Thanks,
Jon
    
    
More information about the Valentina
mailing list