2015-10-02 3 views
0

У меня есть таблица T только с одним значения строки, именами являются именами столбцов и «не» или «зачислено» является значениеPLSQL получить имена столбцов по значению таблицы

Jack  | Mary | Tom | Peter | 

enrolled | not |enrolled | not | 

Есть ли способ я могу вернуться имена столбцов, где их значения «не»

результат выборки набор:

| Mary | Peter |

+0

Что означает «одно значение строки только» означает? Пожалуйста, отформатируйте свой вопрос, чтобы имена столбцов и данные были ясными. –

+3

Это очень странный способ создать таблицу. – sstan

ответ

2

Если есть еще время, чтобы перепроектировать таблицу + данные, рассмотреть вопрос об изменении его на что-то вроде этого, вместо:

name | is_enrolled 
----  ----------- 
Jack   1 
Mary   0 
    Tom   1 
Peter   0 

Таким образом, вы можете использовать простой SQL, чтобы сделать то, что вы хотите:

select name from table_name where is_enrolled = 0 
0

Вы, кажется, очень плохой формат данных. И SQL-запрос возвращает фиксированное количество столбцов. Таким образом, вы не можете делать то, что хотите, возвращая значения.

Вы можете, однако, создать строку с именами столбцов:

select ((case when Jack = 'not' then 'Jack ' else '' end) || 
     (case when Mary = 'not' then 'Mary ' else '' end) || 
     (case when Tom = 'not' then 'Tom ' else '' end) || 
     (case when Peter = 'not' then 'Peter ' else '' end) 
     ) TheNots 
from t; 
+0

Извините, что я здесь новый и новый для sql тоже QAQ –

Смежные вопросы