2011-08-05 8 views
-1

안녕 작동하지 않습니다쿼리 나 쿼리를 구성 할 포스트 그레스

nodettype는, 노드의 노드 이름이의 노드 이름과 연결된 얻을해야 B의 경우 내 테이블 구조는

Nodeid   Nodename Nodetype Parentid nodedes 
1    Node1   A  0   hghg 
2    Node2   B  1   kjhjkh 
3    Node3   A  0   gfhgfh 
4    Node4   B  1   kjhjkh 

입니다 노드 1-노드 4 또는 노드 1 - 노드 2

등의 parentid 나는 내가 쿼리를 wwitten 한 포스트 그레스 를 사용하고 있지만, 그것은 단지 하나의 레코드를 사용할 수있는 작동 최대 절전 모드 쿼리 에이 쿼리를 변환하는 방법 또한 최대 절전 모드를 사용하고 있습니다 .. 그 안 여러 행

SELECT nodename || '--' || (select nodename from table1 where nodetype='B') 
FROM table1 
WHERE nodeid in (SELECT table1.parentid FROM table1 WHERE table1.nodetype = 'B') 

에 대한 wrking하는 사람이

여기

답변

1
SELECT a.nodename||'--'||b.nodename 
FROM table1 a, table1 b 
WHERE b.nodetype='B' 
AND a.nodeid = b.parentid; 
0

자신의 부모 노드의 이름과 함께 B 형 노드의 모든 이름을 반환하는 HQL 쿼리입니다 도와주세요 수 있습니다. 연결은 쿼리에 의해 수행되어서는 안됩니다. 프리젠 테이션 논리에서이 작업을 수행해야합니다.

select node.name, parentNode.name from Node node 
inner join node.parent parentNode 
where node.type = 'B' 

이 쿼리는 Object[]의 목록을 반환합니다. 각 Object[]은 노드 nalme를 첫 번째 요소로, 상위 노드의 이름을 두 번째 요소로 포함합니다.