SQL:将查询输出更改为具有两个单独的列,而不是具有具有 2 个值的行

SQL: Change query output to have two separate columns from having rows with 2 values

出于某种原因,我的查询输出将 2 列组合为 1 列,并将这 2 个值放在同一行中,如下所示:

PATIENT_NAME
--------------------------------------------------------
INSURANCE
-------------------------
Aimie Pepsodent
Manulife

Aka Fresh
Blue Cross

Apple Addaye
Blue Cross

但我希望它们像我老师的输出一样出现在两个单独的列中:

PATIENT_NAME   INSURANCE
-------------- ----------------
Apple Addaye   Blue Cross
Roy Alflush    No Insurance
Shane Cane     No Insurance 

有什么办法可以改成这样吗? 现在我的 sql 查询如下所示:

select (fname||' '||lname) patient_name,
       (nvl(l4_insurance_cos.company_name, 'No Insurance')) insurance
from l4_patients
left join l4_insurance_cos 
on l4_patients.ins_id = l4_insurance_cos.id
order by l4_patients.lname;

这是一个纯粹的 SQLPlus 显示问题。该行的大小太小,无法容纳两列,因此 SQLPlus 将结果拆分为两行。

您需要调整终端的线宽,and/or每列的显示宽度 - 默认情况下,它对应于结果集列的最大长度(如果您在查询中连接两列,这是两列长度的总和,varchars 限制为 4000 字节)。

实际值将取决于您的终端和 table 定义,但这里有一个示例:

set linesize 140                -- allow a total of 140 characters per line
column patient_name format a80  -- 80 characters for column "patient_name"
column insurance    format a60  -- 60 characters for column "insurance"

然后,您可以运行您的查询。