2014-10-03 61 views
2

我正在運行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是從其他表來,或者可以是本。下面我們頭應該從「prepayment_charge_calc」 表中提取的數據的harcoded值.. 1,2,3,4是數據從「prepaayment_charge_calc」表

可以任何人建議我查詢這一點。

+0

您可以使用'Union'來選擇這些標頭,然後合併您的查詢。 – Siyual 2014-10-03 15:28:52

+0

可以給我一個示例查詢來解釋你的評論。它對我有用 – y2j 2014-10-03 15:33:54

+0

那麼你是否在尋找一個動態的列名?或者你在尋找一個硬編碼的第一行? – paqogomez 2014-10-03 15:33:55

回答

0

我沒有看到任何額外的努力,有列名在標題你想要的方式,只提一個ALIAS到列你想要的方式。

例如:

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

在任何GUI/non GUI based tool,該scroll paneresultset的頂部,這實際上是你所需要的列標題自動將table header

+0

如果我們從另一個表中獲取這個列名(讓表是「abc」),那麼上述查詢.plz中的變化是什麼?任何人都可以告訴我 – y2j 2014-10-07 09:24:00

+0

'select x.col1作爲「header1」,x.col2作爲「header2」....來自abc x' – 2014-10-07 09:58:17

+0

感謝您的幫助。如果一列是空白的,然後在表格「abc」中,那麼它也將獲取它。 – y2j 2014-10-07 10:06:52

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 DBMS中,您可以手動創建標題行使用DUAL表,然後工會與真實數據。使用一個僞虛擬列(在下面的例子中是「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 2014-10-07 14:06:51