我的要求是这样的 t1的id1和id2和 t2的id关联 表一 t1 id1 id2
001 002
003 004 表二 t2 id 厂站名
001 一厂
002 二厂
003 三厂
004 四厂
最后得到的结果是
表一 id1 id2
一厂 二厂
三厂 四厂
001 002
003 004 表二 t2 id 厂站名
001 一厂
002 二厂
003 三厂
004 四厂
最后得到的结果是
表一 id1 id2
一厂 二厂
三厂 四厂
解决方案 »
- 如何在plsql developer当中设置相同变量 高亮显示??
- 怎么查找引发“buffer busy"的热快?
- oracle 中如何查询视图属性的类型!有没有办法???
- 请教一条sql语句~~~~谢谢~~
- 怎样把除数为0的报错关闭,急
- 怎样获得视图的sql脚本?
- 有关ORACLE数据库环境不同的数据记录比较的问题
- 求IBM/AIX下双机备份下的Oracle安装方法策略???
- 关于oracle如何在不同网段上连接
- oracle 11g RAC 更改了remote_listener参数后EM出问题,日志:ORA-12514, TNS:listener does not cu
- 怎么在bat里取得sql文件里方法的返回值?
- 一个有趣的Sql
SQL> select * from X;
ID1 ID2
--- ---
001 002
003 004
SQL>
SQL> WITH A AS (SELECT '001' ID ,'一廠' NAME FROM DUAL
2 UNION
3 SELECT '002' ID ,'二廠' NAME FROM DUAL
4 UNION
5 SELECT '003' ID ,'三廠' NAME FROM DUAL
6 UNION
7 SELECT '004' ID ,'四廠' NAME FROM DUAL
8 )
9
9 SELECT B.ID1,C.ID2 FROM (SELECT ROWNUM RN,A.NAME ID1,X.ID1 ID3 FROM X,A WHERE A.ID=X.ID1) B
10 ,(SELECT ROWNUM RN,A.NAME ID2,X.ID2 ID4 FROM X,A WHERE A.ID=X.ID2) C
11 WHERE B.RN=C.RN
12 ;
ID1 ID2
---- ----
一廠 二廠
三廠 四廠
CREATE OR REPLACE VIEW VIEW_NAME AS
SELECT B.ID1,C.ID2 FROM (SELECT ROWNUM RN,A.NAME ID1,X.ID1 ID3 FROM X,A WHERE A.ID=X.ID1) B
,(SELECT ROWNUM RN,A.NAME ID2,X.ID2 ID4 FROM X,A WHERE A.ID=X.ID2) C
WHERE B.RN=C.RN
CREATE OR REPLACE VIEW VIEW_NAME AS
select (select A.name from A where A.id = X.id1) id1,
(select A.name from A where A.id = X.id2) id2
from X;
(select b.table_name from t2 b where b.id=a.id2) as c2
from t1 a
其中t2的id列应该有唯一性约束,同时唯一性约束会在id列上创建唯一性索引,这样关联的速度会很快。
create or replace view view_name as
select b.name,c.name from t1 a,t2 b,t2 c
where a.id1=b.id and a.id2=c.id