가. 내가 구조 AS 함께 잘 알고 아닙니다.SQL 서버 근처의 구문이 잘못되었습니다 '('재귀 쿼리에 나는 SQL Server 쿼리에 IBM의 DB2 쿼리를 변환하려고
DB2 u 리를 (어떤 작품) 입니다 :
with ZoneList (id, name, parent_name, parent_id, level) as
(select id, name, '', parent_id, 1 as level
from products.zones where id = 1
union all
select z.id, z.name, l.name, z.parent_id, level + 1
from products.zones z, ZoneList l
where z.parent_id = l.id)
select id, name || ' (' || parent_name || ')' as description
from ZoneList
where level = 4
order by ZoneList.name
내 SQL Server 버전은 다음과 같습니다. 호환되지 않는 유형의 오류를 방지하기 위해 내가 캐스트를 추가 한
with ZoneList (id, name, cast((parent_name) as varchar(45)), parent_id,
level) as
(select id, name, cast(('') as varchar(45)), parent_id, 1 as level
from products.zones where id = 1
union all
select z.id, z.name, cast((l.name) as varchar(45)), z.parent_id, level + 1
from products.zones z, ZoneList l
where z.parent_id = l.id)
select id, name + ' (' + parent_name + ')' as description
from ZoneList
where level = 4
order by ZoneList.name
,하지만 지금은 무엇입니까 구문 오류 근처 '('
. 당신은 열 이름이 무엇인지 말할 것입니다, 그래서 당신은 타입 선언이나 캐스트가 필요 없습니다. – ps2goat