2017-12-11 17 views
0

IBM db2의 쿼리에서 목록 열 이름을 가져올 수 있습니까?SQL을 통해 IBM db2의 쿼리에서 열 이름을 얻는 방법

아주 간단한 예를 들어 다음 SQL에서 가져온 열 이름을 원합니다.

select * from db.t1,db.t2 where t1.id = t2.id 

사실 나는 단일 테이블에서 열 이름을 얻는 방법을 알고 있습니다. 그러나 그런 시나리오에서 컬럼 이름을 얻는 데 어려움을 겪습니다.

PHP에서 배열 목록으로 열 목록을 원합니다. "FETCH FIRST 1 ROW ONLY"을 SQL 끝에 추가하고 실행하면됩니다. 그런 다음 결과 집합에서 열을 가져올 수 있습니다.

그러나 데이터가없는 경우에도 열 목록이 필요합니다. 그것을 성취하는 방법?

도움이 될 것입니다.

+0

당신은 아마도 SYSTABLE에서 해당 정보를 얻을 수있는 별도의 쿼리를 만들 수있는 선택에 대해 설명

같은 것을 할 수있는, 이런 식으로 뭔가가'SYSIBM FROM 이름을 선택합니다. SYSCOLUMNS WHERE TBNAME = '귀하의 테이블'; 나는 그것을 시도하지 않았다. Google 검색 결과 1 분 후에 발견되었습니다. –

+0

나도 알아. 그건 하나의 테이블을위한거야. 합류하면 어떨까요? @MagnusEriksson –

+0

'또는'시도 : WHERE TBNAME = '귀하의 테이블'또는 TBNAME = '귀하의 다른 테이블'? –

답변

3

db2_num_fields()을 사용하여 결과 집합의 열 수를 결정한 다음 루프를 반복하고 db2_field_name()을 호출하여 이름을 얻을 수 있습니다.

+0

결과가 반환되지 않으면 작동합니까? –

+0

이것은 나를 위해 일했습니다. 감사. :) –

+0

@MagnusEriksson 결과 집합 메타 데이터는 빈 결과 집합에 대해서도 만들어야합니다. – mustaccio

0

당신은 언제나 * TABLEA에서 TableB의이