【发布时间】:2017-08-22 05:06:23
【问题描述】:
我已经创建了一个表 tvc
CREATE TABLE tvc(tvcid number(10), tvcname varchar2(15));
还有另一个表uvc
CREATE TABLE uvc( uname varchar(10) );
如何将数据插入到 uvc 表或从 tvc 表列名创建视图 uvc?
- tvcid
- 电视名称
【问题讨论】:
标签: sql oracle pivot-table
我已经创建了一个表 tvc
CREATE TABLE tvc(tvcid number(10), tvcname varchar2(15));
还有另一个表uvc
CREATE TABLE uvc( uname varchar(10) );
如何将数据插入到 uvc 表或从 tvc 表列名创建视图 uvc?
【问题讨论】:
标签: sql oracle pivot-table
您可以简单地为此创建视图,而不是创建单独的表:
CREATE view uvc
AS
SELECT tvcid as ID,
tvcname as Name
FROM tvc
【讨论】:
如何将数据插入uvc 表中?
INSERT INTO uvc (uname)
SELECT tvc.tvcname
FROM tvc
[WHERE ..some conditions..]
请注意 tvc.tvcname 和 uvc.uname 类型不匹配,因此您应该更改
uvc.uname 数据类型为varchar2(15) 以避免错误。
如何从tvc 创建视图uvc?
CREATE VIEW uvc AS
SELECT tvc.tvcname uname
FROM tvc
[WHERE ..some conditions..];
【讨论】:
tvcname 超过 10 个符号,你会得到一个错误
WHERE 子句是可选的,如果不需要,可以不使用。
你可以这样试试:
with tb1 AS(
select 1 tvcid, 'gg' tvcname from dual
union all
select 2 tvcid, 'gg2' tvcname from dual
), tb2 as (
select 'gg' uname from dual
union all
select 'gg' uname from dual
)
SELECT DISTINCT * FROM
TB1 LEFT JOIN TB2 ON 1 = 1
【讨论】: