我有一张桌子“患者”,有5个字段。
CREATE TABLE PATIENT
(PAT_ID CHAR (4) PRIMARY KEY,
PAT_NAME VARCHAR (7),
ADMITTED DATE,
ROOM CHAR (3),
DOCTOR VARCHAR (7));
INSERT INTO PATIENT VALUES
(1001, 'FRED', '30-MAR-07', 101, 'PAYNE');
我想创建一个视图,其输出如下所示:
Patient Doctor Room Admitted
"-----------------------------------------------"
1001 Fred Payne 101 March 31, 2007
问题是我想将Pat_name和Pat_ID连接到他们自己独立的“患者”列中,但是还要将其他三个字段连接起来(注意'破折号'中没有分隔符。)
基本上,我想要一个列连接所有5列的单个列,但我还需要将前两列组合成一个名为“patient”的子列。
你能在连接中连接吗?
答案 0 :(得分:1)
SELECT CONCAT(PAT_ID, ' ', PAT_NAME) AS Patient,
DOCTOR AS Doctor, ROOM AS Room, ADMITTED AS Admitted
FROM PATIENT
答案 1 :(得分:0)
It turns out you're actually using Oracle Database。我仍然不确定你要尝试以哪种方式连接哪些字段,但这应该足以让你滚动:
CREATE VIEW PATIENT_REPORT
AS
SELECT
PATIENT.PAT_ID||' '||PATIENT.PAT_NAME as "patient",
PATIENT.DOCTOR||' '||PATIENT.ROOM||' '||PATIENT.ADMITTED as "details"
FROM PATIENT;
答案 2 :(得分:0)
这是通过名称“view_name”创建视图的查询:
create or replace view view_name as
select t.Pat_Id || ' ' || t.Pat_Name Patient,
t.Doctor,
t.Room,
to_char(t.Admitted, 'Month dd, yyyy') Admitted
from Patient t
with read only;
您可以选择
SELECT * FROM VIEW_NAME
我认为这里提供了足够的信息,您可以添加或操作(其他)列以显示。