簡體   English   中英

Oracle sql 添加自定義列名作為結果集的第一行

[英]Oracle sql adding custom column name as 1st row of the resultSet

如何將列名作為結果集的第一行。我在下面嘗試但得到如下所示的錯誤

select 'First Name', 'Last Name', 'Middle Name', 'Term Number', 'BID', 'BTitle', 'SubB Name', 'LNum' from dual 
    UNION
    select
                pa.first_name as first_name,
                pa.last_name as last_name,
                pa.MIDDLE_INITIAL as middle_name,
                bi.bi_num as num,
                bi.b_id as bId,
                b.name as b_title,
                bi.sub_board_name as sub_b_name,         
                pa.L_NUMBER as lNum
            from
                M_INFO pa,
                B_INV bi,
                Blot b,
                users u,
                roles r  
            where
                bi.assigned_to  = u.bi_num(+) 
                and bi.bi_num = pa.bi_num(+) 
                and u.role_id = r.id(+)  
                and bi.b_id = b.id
                and bi.delete_dt is null  
                and bi.delete_by is null  
                and bi.ARCHIVED_DT is null  
                and bi.b_id = '40'  and bi.sub_b_name = 'TEST'; 


ORA-01790: expression must have same datatype as corresponding expression
01790. 00000 -  "expression must have same datatype as corresponding expression"
*Cause:    
*Action:
Error at Line: 1 Column: 50

我建議對您的查詢進行兩項更改。

  1. 更改UNIONUNION ALL 這樣您的聯合就不會在聯合的兩個部分之間尋找重復項。
  2. 由於聯合的第一部分是所有字符串,聯合的第二部分也需要返回所有字符串。 聯合的第二部分中的任何數字列都需要轉換為字符串。 示例:將bi.bi_num更改為TO_CHAR(bi.bi_num)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM