2014-10-03 6 views
2

i m запускает запрос sql для выбора данных из таблицы.включить заголовок в результат запроса sQL

Я хочу включать заголовки в качестве первой строки в результате запроса. Заголовки будут поступать из какой-либо другой таблицы, или мы можем sqlhardcode значения.

ниже - мой запрос на получение данных.

select invoice_type_code, 
    shipper_short_code , 
    charge_type_code , 
    incurred_date , 
    charge_amount , 
    charge_description 
    from prepayment_charge_calc ; 

я хочу заголовок выше данные первой строки каждого column.these заголовка не должно быть имя столбца

например, для.

header1 header2 header3 header4 header5 header6 
1   2   3   4  5  6 

заголовок 1 до 6 поступает из другой таблицы или может быть harcoded значения .below этого заголовка мы должны были данные, извлеченными из «prepayment_charge_calc» стола .. 1,2,3,4 являются данными из таблицы «prepayment_charge_calc»

Может ли кто-нибудь предложить мне запрос на это.

+0

Вы можете использовать «Союз», чтобы сначала выбрать эти заголовки, а затем объединить свой запрос. – Siyual

+0

может предоставить мне пример запроса, чтобы объяснить комментарий .it будет полезен для меня – y2j

+0

Итак, вы ищете динамические имена столбцов? или вы ищете строчную кодированную первую строку? – paqogomez

ответ

0

Я не вижу каких-либо дополнительных усилий, чтобы иметь имена столбцов в заголовке, как вы хотите, просто упомянуть ALIAS к столбцам, как вы хотите.

Например:

select col1 as "header1", col2 as "header2".... from table

В любом GUI/non GUI based tool, то scroll pane автоматически помещает table header в верхней части resultset, которая на самом деле заголовки столбцов вам нужно.

+0

, если мы выберем это имя столбца из другой таблицы (пусть столбец «abc»), то какими будут изменения в вышеуказанных запросах .plz может кто-нибудь сказать мне – y2j

+0

'select x.col1 как «header1», x.col2 как «header2» .... от abc x' –

+0

спасибо за вашу помощь. Если один столбец пуст, то в таблице «abc», а затем он будет извлекать его. – y2j

2

Похоже, что вы хотите иметь возможность жесткого кодирования различных имен столбцов в ваш запрос.

В Oracle, вы можете сделать это с помощью цитаты:

select 
    invoice_type_code as "1", 
    shipper_short_code as "asdf", 
    charge_type_code as "12353", 
    incurred_date as "ddf", 
    charge_amount as "234$", 
    charge_description as "header6" 
from 
    prepayment_charge_calc 

Вы можете увидеть example of that here

2

Предполагая, что СУБД Oracle, вы можете создать строку заголовка вручную с помощью DUAL таблицы, а затем объединение с реальным данные. Для сортировки данных используйте фиктивный psuedo-column («rno» в приведенном ниже примере). Однако для выполнения этой работы вам необходимо преобразовать любой другой тип данных в VARCHAR. Идея иллюстрируется ниже:

select 
    'header1', 
    'header2', 
    'header3', 
    'header4', 
    'header5', 
    'header6', 
    1 rno 
from 
    dual 
union 
select 
    invoice_type_code, 
    shipper_short_code , 
    charge_type_code , 
    incurred_date , --convert this using to_char if date datatype 
    charge_amount , --convert this using to_char if numeric datatype 
    charge_description, 
    2 rno 
from 
    prepayment_charge_calc 
order by rno; 
+0

, если первая таблица имеет 8 столбцов, а вторая таблица имеет 7 столбцов, тогда этот запрос объединения будет работать.если нет, то каким может быть другой способ сделать это – y2j

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