Перейти из форума на сайт.


Система IP-видеонаблюдения "Линия". Скачать бесплатную демо-версию для 16 камер. НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » SQL запрос

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Открыть новую тему     Написать ответ в эту тему

NiXXX



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
мы тут серваки троллим, а он...
мог бы и подождать пару дней результата  

Так сжалился над кремниевыми рабами - хватит им кристаллы греть, запросы разбирать и в раме их сохранять, да хардами хрустеть

Всего записей: 272 | Зарегистр. 06-05-2003 | Отправлено: 16:20 22-11-2017
NiXXX



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Просматривал структуру базы на предмет последующего ее описания и нашел эпическую по количеству полей таблицу (откуда взялась и кто ее сделал - я хз, но так исторически сложилось). Задался вопросом можно ли из этого монстра отобрать данные из полей, названия полей которых содержат ID (например).
 
P.S. Попробовал перечислять поля с id ы имени руками... чуть пальцы не стер

Всего записей: 272 | Зарегистр. 06-05-2003 | Отправлено: 14:12 29-11-2017
Mic777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NiXXX

Код:
 
select column_name  
  from user_tab_columns  
  where table_name = 'МОЙ_ТАБЛИЦ' /* */
 


Всего записей: 79 | Зарегистр. 15-12-2005 | Отправлено: 15:17 29-11-2017 | Исправлено: Mic777, 15:17 29-11-2017
Alexzzy

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NiXXX
1. Зпустить скрипт формирующий sql-скрипт. Как то так:

Код:
select 'select'
 
union all
 
select column_name + ','  
from user_tab_columns  
where table_name = 'TableName' and column_name like '%ID%'
 
union all
 
select 'from TableName'

2. Убрать из полученного скрипта запятую перед FROM и запустить.

Всего записей: 1365 | Зарегистр. 10-07-2013 | Отправлено: 17:31 29-11-2017
NiXXX



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mic777, так я могу
Вот бы добавить перечень полей в качестве параметров для запроса select fom table where column_name like...
 
Alexzzy, у меня oracle. Так что конструкции "+ ','" и "select 'select'" не взлетят. Вот так взлетает:
select 'select' from dual
union all
select column_name||',' from user_tab_columns  
where table_name = upper('TableName') and column_name like '%ID%'
union all
select 'from TableName' from dual

Всего записей: 272 | Зарегистр. 06-05-2003 | Отправлено: 10:21 30-11-2017
Mic777

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
NiXXX
Может так еще лучше взлетит?

Код:
 
select 'select ' ||
  (select LISTAGG(column_name, ',')  
         within group (order by column_name)
    from user_tab_columns  
   where UPPER(table_name) = 'TABLE_NAME'
     and UPPER(column_name) like '%ID%') ||
  ' from TABLE_NAME t' from dual;
 

 
Правда LISTAGG с 11-ки только вроде.

Всего записей: 79 | Зарегистр. 15-12-2005 | Отправлено: 16:04 30-11-2017
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Результат, возвращаемый LISTAGG ограничен длиной 4000 байт. Если таблица содержит очень много полей с длинными названиями, то длины может не хватить.

Всего записей: 445 | Зарегистр. 27-06-2005 | Отправлено: 09:59 01-12-2017
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » SQL запрос

Имя:
Пароль:
Сообщение

Для вставки имени, кликните на нем.

Опции сообщенияДобавить свою подпись
Подписаться на получение ответов по e-mail
Добавить тему в личные закладки
Разрешить смайлики?
Запретить коды


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.Board
© Ru.Board 2000-2017

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru