Filtrado de columnas en PLSQL

R

Tengo una tabla con cientos de columnas y estoy intentando elegir solo un subconjunto de ellas según los datos que contengan. La tabla, que es parte de una aplicación que estoy desarrollando en Oracle APEX, se ve así:

|Row Header|Criteria 1|Criteria 2| Criteria 3 | Criteria 4 |Criteria 5 |
|Category  | Type A   | Type B   | Type B     | Type A     | Type A    |
| ID       | 2.3      | 2.4      | 2.5        | 3.1        | 3.2       |
| Part A   | Yes      | Yes      | Yes        | No         | Yes       |
| Part B   | Yes      | No       | Yes        | Yes        | Yes       |
| Part C   | No       | Yes      | Yes        | Yes        | No        |

Continúa así durante aproximadamente 1000 criterios y 100 partes. Necesito encontrar una solución para usar SQL para seleccionar todos los campos de un tipo determinado en su propia base de datos.
Me gustaría que el retorno se viera así:

|Row Header|Criteria 1|Criteria 5 |
|Category  | Type A   | Type A    |
| ID       | 3.1      | 3.2       |
| Part A   | No       | Yes       |
| Part B   | Yes      | Yes       |
| Part C   | Yes      | No        |

De esta manera, solo veo columnas que pertenecen a la categoría "Tipo A" y tienen una identificación mayor a 3.
He examinado las funciones GROUP BY y FILTER de SQL, así como PIVOT, y no creo que me ayuden, pero me complacería estar equivocado.
Vi un artículo que decía poner una clave externa en cada una de las columnas de la tabla puente para apuntar a sus respectivas tablas principales para mantener la integridad de los datos, sin embargo, esto me causará otro problema. ¿Alguien tiene alguna idea?

desu
SELECT * FROM table WHERE Category = 'Type A'
1 respuesta
M

#1 depende de lo que quieras hacer, en APEX, puedes usar reports personalizados con las búsquedas que quieras hacer o loque ha dicho #2 añadiéndole un item como parte del where.

Usuarios habituales