2009-11-03 1 views
0

관계가 별도로 저장되는 상위 ITEM 테이블 행의 하위 항목 인 ITEM 테이블의 모든 행을 얻는 방법은 무엇입니까? 이 작업을 수행하려면 어떻게해야합니까? "이 특정 ITEM 테이블 행의 하위 항목 인 ITEM 테이블의 모든 행을 가져옵니다. 관계가 별도의 관계 테이블에 저장되는이 상위 항목의 모든 하위 항목"관계가 별도로 저장되는 상위 ITEM 테이블 행의 하위 항목 인 ITEM 테이블의 모든 행을 얻는 방법은 무엇입니까?

그래서 ITEMS 및 RELATIONSHIPS 테이블이 있습니다. 키 열은 다음과 같습니다.

ITEMS 
* ID 
* << other columns>> 

RELATIONSHIPS 
* PARENT_ID 
* CHILD_ID 

DataSet/DataRelation 접근 방식이 어떻게 든 이러한 관계를 매핑 할 수 있는지 여부를 이해하려고합니다. 예를 들어, 기본적으로 요청을 구현하는 방법을 원한다면 "DataRow [] 형식으로 모든 자식 ITEMS를 주면 RELATIONSHIPS 테이블을 기반으로 부모 ITEM DataRow가 주어진다"는 DataRelation을 사용하여이 작업을 수행 할 수있는 방법이 있습니까? DataSet 방식을 사용하여 이렇게하는 가장 쉬운 방법은 무엇입니까?

EDIT : 즉, DataSet을 사용 중이며 DataSet 내에서 위에서 설명한 실제 데이터베이스 테이블 각각에 대해 하나의 DataTable이 있습니다.

감사

내 머리
+0

와우 친구가 제목을 단축 – hasen

+0

@ 그렉 - "Hi"아래의 제목과 "DataSet Question ..."전에 제목을 편집하고 복사하십시오. 당신이 묻는 것을 읽기가 어렵습니다. 감사. –

+0

@Cape Cod Gunny - done – Greg

답변

0

최고, 당신은 대략이 솔루션을 찾고 (내가 제대로 자료 구조를 이해한다면 나는 완전히 확실하지 않다) :

SELECT child.othercolumns 
FROM items AS child, relationships AS r, items AS parent 
WHERE r.parent_id=parent.id AND r.child_id=child.id 
+0

이것은 내가 생각하는 SQL일까요? 즉, 내 질문에 DataSet을 (각 실제 데이터베이스 테이블 및 일부 DataRelations 내에서 DataTable을 사용하여) DataSet 환경 내에서 작업을 수행 할 수 있도록 설정하는 방법을 의미 했습니까? – Greg

+0

아니면 DataSet/DataRelations를 사용하지 말고 제안한 SQL을 사용하여 필요한 행만으로 특정 DataTable을 채우는 것이 더 쉽습니다. – Greg

+0

'DataSet'으로, 당신은 .NET 클래스를 의미 했습니까? 귀하의 질문은 관련성있는 세부 사항을 정말로 생략했습니다. – MSalters