diff --git a/backend-node/src/controllers/tableManagementController.ts b/backend-node/src/controllers/tableManagementController.ts index 90d6131f..3f599fa5 100644 --- a/backend-node/src/controllers/tableManagementController.ts +++ b/backend-node/src/controllers/tableManagementController.ts @@ -1655,20 +1655,32 @@ export async function getCategoryColumnsByMenu( }); } - // 3. 테이블들의 카테고리 타입 컬럼 조회 + // 3. 테이블들의 카테고리 타입 컬럼 조회 (테이블 라벨 포함) logger.info("🔍 카테고리 컬럼 쿼리 준비", { tableNames, companyCode }); const columnsQuery = ` SELECT - table_name AS "tableName", - column_name AS "columnName", - column_label AS "columnLabel", - input_type AS "inputType" - FROM table_type_columns - WHERE table_name = ANY($1) - AND company_code = $2 - AND input_type = 'category' - ORDER BY table_name, column_name + ttc.table_name AS "tableName", + COALESCE( + tl.table_label, + initcap(replace(ttc.table_name, '_', ' ')) + ) AS "tableLabel", + ttc.column_name AS "columnName", + COALESCE( + cl.column_label, + initcap(replace(ttc.column_name, '_', ' ')) + ) AS "columnLabel", + ttc.input_type AS "inputType" + FROM table_type_columns ttc + LEFT JOIN column_labels cl + ON ttc.table_name = cl.table_name + AND ttc.column_name = cl.column_name + LEFT JOIN table_labels tl + ON ttc.table_name = tl.table_name + WHERE ttc.table_name = ANY($1) + AND ttc.company_code = $2 + AND ttc.input_type = 'category' + ORDER BY ttc.table_name, ttc.column_name `; logger.info("🔍 카테고리 컬럼 쿼리 실행 중..."); diff --git a/frontend/components/table-category/CategoryColumnList.tsx b/frontend/components/table-category/CategoryColumnList.tsx index 0e25643e..08a33d90 100644 --- a/frontend/components/table-category/CategoryColumnList.tsx +++ b/frontend/components/table-category/CategoryColumnList.tsx @@ -7,6 +7,7 @@ import { FolderTree, Loader2 } from "lucide-react"; interface CategoryColumn { tableName: string; + tableLabel?: string; // 테이블 라벨 추가 columnName: string; columnLabel: string; inputType: string; @@ -89,6 +90,7 @@ export function CategoryColumnList({ tableName, selectedColumn, onColumnSelect, return { tableName: colTable, + tableLabel: col.tableLabel || colTable, // 테이블 라벨 추가 columnName: colName, columnLabel: colLabel, inputType: col.inputType, @@ -159,7 +161,7 @@ export function CategoryColumnList({ tableName, selectedColumn, onColumnSelect, />

{column.columnLabel || column.columnName}

-

{column.tableName}

+

{column.tableLabel || column.tableName}

{column.valueCount !== undefined ? `${column.valueCount}개` : "..."}