|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
Добрый день, не соображу никак, есть таблица с attribute1..attributeN И есть у меня список названий тех колонок что нужно выбрать attribute1, attribute2, attribute3 Как выбрать данные типа Select СписокКолонок from table, чтобы только они в результат вывелись ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 18:11 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
Спросить у того, кто сделал такой неправильный дизайн БД. Накрайняк - в разделе форума по используемому языку программирования. Здесь самоочевидным ответом будет Код: sql 1.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 18:18 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
Я имею в виду как бы лучше выбрать из таблицы колонки, имея их имена списком второго селекта. колонок attributeN много, а мне нужны в зависимости от ситуации только заполненные ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 18:23 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
leprechaun, Хранимкой. В нее передаешь список колонок, внутри в динамике формируешь SQL-запрос и выполняешь его через execute statement. Это если через одно место и с оговорками, что на выходе будет не больше 3-5-n колонок - тебе ж колонки еще вернуть нужно, ага?. Плюс геморрой с колонками разных типов обеспечен. Резюмирую - лучше делать на клиенте, а не на сервере. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 18:59 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
Hello, Leprechaun! You wrote on 20 февраля 2017 г. 19:05:36: Leprechaun> Я имею в виду как бы лучше выбратьвернись в Соренто на Oracle. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 19:06 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
leprechaunЯ имею в виду как бы лучше выбрать из таблицы колонки, имея их имена списком второго селекта. А вот с этим - точно исключительно к идиоту-дизайнеру БД. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 19:09 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
Спасибо, прошу прощения за невежество, элементарный вопрос select :var from table - как передать в переменную var имя колонки чтобы не саму переменную выводило ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 19:47 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
leprechaunselect :var from table - как передать в переменную var имя колонки чтобы не саму переменную выводило Через case, видимо Код: sql 1. 2. 3. 4. 5.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 20:04 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
leprechaun> как передать в переменную var имя колонки Обычно "выбрать что-то из неизвестной колонки/таблицы" означает какие-то проблемы в дизайне/архитектуре БД, при чём независимо от СУБД. Сделать-то это можно (пару решений уже озвучили выше), но лучше подумайте о более грамотном подходе. P.S. А "известно" имя колонки становится на клиенте или на сервере откуда-то формируется/выбирается ? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 20:15 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
leprechaun, Есть стойкое ощущение, что ты пытаешся натянуть сову на глобус. Может лучше задачу переформулировать? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 20:18 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
Я не очень опытен, таблицы стандартные. Смотрю список активных гибких полей для набора значений SELECT APPLICATION_COLUMN_NAME, FROM FND_DESCR_FLEX_COL_USAGE_VL WHERE DESCRIPTIVE_FLEX_CONTEXT_CODE = (SELECT FLEX_VALUE_SET_NAME FROM fnd_flex_value_sets WHERE flex_value_set_id = :P_VS_ID) список этот заранее считан в таблицу для динамического формирования колонок. Далее мне нужны уже значения, в цикле перебираю колонки ATTRIBUTEN, подставляя в селект имя. Возможно связал не так. Пока динамически оставил решение sql_query1 := 'select'; sql_query2 := to_char(g_vtv_ogp_tbl(i).APPLICATION_COLUMN_NAME); sql_query3 := 'from fnd_flex_values where flex_value_set_id = :P_VS_ID and flex_value_id = :P_STORAGE_VALUE and rownum = 1'; full_query := sql_query1 || ' ' || sql_query2 || ' ' || sql_query3; OPEN sql_cur FOR full_query USING P_VS_ID, P_STORAGE_VALUE; По идее в APPLICATION_COLUMN_NAME реальное имя колонки, но конечно натягиваю что-то на что-то) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 20:42 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
leprechaun> список этот заранее считан в таблицу для динамического формирования колонок. Конкретнее задачу можешь озвучить? Это какая-то CAD-система, АСУТП? Почему нельзя один раз сформировать нужный(е) запросы и использовать его? leprechaun> Далее мне нужны уже значения, в цикле leprechaun> перебираю колонки ATTRIBUTEN, подставляя в селект имя. Зачем в цикле перебирать и подставлять в запрос и перезапрашивать, если можно один раз собрать все колонки и получить данные одним запросом? Это несколько проще и намного дешевле, поверь. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 21:22 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
leprechaunЯ не очень опытен, таблицы стандартные. Не, такой бред стандартным точно быть не может. В морг. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2017, 23:42 |
|
Динамический выбор колонки в селекте
|
|||
---|---|---|---|
#18+
leprechaunWHERE DESCRIPTIVE_FLEX_CONTEXT_CODE = (SELECT FLEX_VALUE_SET_NAME FROM к чему этот старообрядческий способ? надо join писать. http://www.ibase.ru/joins/ ... |
|||
:
Нравится:
Не нравится:
|
|||
21.02.2017, 12:14 |
|
|
start [/forum/topic.php?fid=40&msg=39408083&tid=1561701]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
55ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
others: | 269ms |
total: | 417ms |
0 / 0 |