2016-11-11 8 views
0

Я пытаюсь вернуть имена столбцов, которые имеют значение. Я думаю, что могу сделать запрос к базе данных и извлечь имена.как вернуть имена столбцов, которые имеют значение?

Например, я хочу вернуть столбцы Director и Actors, когда мое разделяемое значение равно Tarantino, поскольку он является одновременно актером и режиссером.

String x = "Tarantino"; 

String q = 
     "SELECT Actors, Director, Genre, Country, Released, WHERE Actors LIKE '%"+x+"%' " + 
     "AND WHERE Director LIKE '%"+x+"%' " + 
     "AND WHERE Genre LIKE '%"+x+"%' " + 
     "AND WHERE Country LIKE '%"+x+"%' " + 
     "AND WHERE Released LIKE '%"+x+"%' " ; 

И тогда я могу перебрать курсором и получить имена столбцов Director и Actors

+0

Я думаю, что ваш синтаксис неправильный, но трудно сказать без лучшего описания ваших таблиц и столбцов. Можете ли вы предоставить DDL или краткое описание? –

+0

Извините, я обновил запрос. Я думаю, что ошибаюсь, полагая, что пустой столбец не будет возвращен в запросе. Например, столбец жанра будет пустым, поскольку Tarantino не является жанром. Я надеялся восстановить только непустые столбцы. –

ответ

0

искать матч в одной колонке, попробуйте следующее:

select exists (select * from actors where director like '%"+x+"%'); 

Чтобы поставить все четыре вместе, вы можете попробовать:

select q1, q2, q3, q4 
from 
    (select exists (...) as q1) 
    join 
    (select exists (...) as q2) 
    join 
    (select exists (...) as q3) 
    join 
    (select exists (...) as q4) 

SUPERSEDED:

Вы пробовали:

"SELECT Actors, Director, Genre, Country, Released, WHERE Actors LIKE '%"+x+"%' " + 
    "AND Director LIKE '%"+x+"%' " + 
    "AND Genre LIKE '%"+x+"%' " + 
    "AND Country LIKE '%"+x+"%' " + 
    "AND Released LIKE '%"+x+"%' " ; 

Обратите внимание, что способ отбора работ, он возвращает все столбцы. Вы должны вернуть строку , которая соответствует всем четырем вашим критериям. Однако, я думаю, вы пытаетесь сделать что-то другое. То, что мне непонятно.

+0

Я пытаюсь вернуть только те столбцы, которые содержат значение Tarantino. Мне просто нужны их имена. –

+0

Итак, вы хотите знать, какие столбцы содержат значение с встроенным x. Кроме того, вам все равно, в какой строке встречаются эти совпадения. Итак, я думаю, что вам нужно четыре запроса, по одному для каждого столбца. Я не эксперт по SQL, но я попробую изменить мой ответ выше. –

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