Mysql Access SQL上不存在时的情况
几小时前,我发现当无法处理访问查询时,Mysql Access SQL上不存在时的情况,mysql,sql,ms-access-2013,Mysql,Sql,Ms Access 2013,几小时前,我发现当无法处理访问查询时,会出现这种情况。SELECT语句中有一个复杂的CONCAT,但它是用MySQL编写的: SELECT CONCAT( 'www.mywebsite.com/catalogsearchtool?title=' , REPLACE(tblTitles.Content_Name, '&', '%26') , '&contributor=ln:' , CASE WHEN LOCATE('; ',tblTitles.Contributors) >
会出现这种情况。SELECT语句中有一个复杂的CONCAT,但它是用MySQL编写的:
SELECT CONCAT(
'www.mywebsite.com/catalogsearchtool?title='
, REPLACE(tblTitles.Content_Name, '&', '%26')
, '&contributor=ln:'
, CASE WHEN LOCATE('; ',tblTitles.Contributors) > 0
THEN REPLACE(REPLACE(REPLACE(
CASE WHEN RIGHT(TRIM(tblTitles.Contributors), 1) = ',' THEN LEFT(TRIM(tblTitles.Contributors), CHAR_LENGTH(TRIM(tblTitles.Contributors)) - 1) ELSE TRIM(tblTitles.Contributors) END
, '&', '%26'), '; ', ',rl:Author&contributor=ln:'), ', ', ',fn:')
ELSE REPLACE(REPLACE(
CASE WHEN RIGHT(TRIM(tblTitles.Contributors), 1) = ',' THEN LEFT(TRIM(tblTitles.Contributors), CHAR_LENGTH(TRIM(tblTitles.Contributors)) - 1) ELSE TRIM(tblTitles.Contributors) END
, '&', '%26'), ', ', ',fn:')
END
, ',rl:Author&language='
, LOWER(tblTitles.language)
) AS 'link'
基本上,它是基于名为Contributors的列中的名称生成链接的。该列的顺序如下:
last_name, first_name
或
出于我无法控制的原因,该列中可能有许多名称。因此,对于上面的查询,两个结果将是(对于2个名称):
和(对于1个名称):
有人能帮我翻译一下这个逻辑以访问SQL吗?您正在寻找IIF():这可以提供一些见解。
last_name, first_name; last_name, first_name
www.mywebsite.com/catalogsearchtool?title=tile123&contributor=ln:smith,fn:john,rl:Author&contributor=ln:smith,fn:jane,rl:Author&language=english
www.mywebsite.com/catalogsearchtool?title=title5678&contributor=ln:smith,fn:john,rl:Author&language=english