diff --git a/src/repositories/partRepository.js b/src/repositories/partRepository.js
index e5553f0ba155db243348af461ad4d36ec684f544..4e453fa900d1ff186583ff4448ae11f0a7531d62 100644
--- a/src/repositories/partRepository.js
+++ b/src/repositories/partRepository.js
@@ -32,11 +32,12 @@ const PartRepository = {
 
   async getFilterDataByTypeAndColumn(type, column) {
     const query = `
-      SELECT DISTINCT ${column}
-      FROM part_info_${type}
-      WHERE ${column} IS NOT NULL
-      ORDER BY ${column}
-    `;
+    SELECT DISTINCT p.${column}
+    FROM relations r
+    JOIN part_info_${type} p ON r.part_id = p.part_id -- id 대신 part_id 사용
+    WHERE p.${column} IS NOT NULL
+    ORDER BY p.${column}
+  `;
     const resp = await pool.query(query);
     return resp.rows.map((row) => row[column]);
   },
diff --git a/src/routes/parts.js b/src/routes/parts.js
index a6a92875abad53003952973d9847b3efbeabed24..b995962256ae13284f72da104caa89c9ac183a32 100644
--- a/src/routes/parts.js
+++ b/src/routes/parts.js
@@ -9,9 +9,7 @@ partRouter.get(
   '/',
   wrapAsync(async (req, res) => {
     const { partType, filters } = req.query;
-
     const parts = await PartService.getParts(partType, filters);
-
     return res.sendResponse('', 200, { parts });
   })
 );
diff --git a/src/services/partService.js b/src/services/partService.js
index 2e8d58c9c5f0b8413bdfd189af3e424196e573be..0fa797d00b0ffacff33cdbc4a8364ca6643054ed 100644
--- a/src/services/partService.js
+++ b/src/services/partService.js
@@ -52,7 +52,7 @@ const PartService = {
 
   async getParts(partType, filters) {
     if (!partType) {
-      throw new Error('파트 타입이 필요합니다.');
+      throw new ReportableError(400, '파트 타입이 필요합니다.');
     }
 
     let parsedFilters;