我的要求是这样的 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
一厂 二厂
三厂 四厂
解决方案 »
- Oracle 本地索引指定表空间,如何查看这个本地索引的详细信息?
- EXECUTE IMMEDIATE 结果返回问题
- 不同类型数据库的死锁问题
- 国内 oracle 软件 的销售数量有多少
- 这个表sql怎么写?急!谢谢,小弟在线等
- 问个华为面试的SQL题目
- [Oracle]为什么我的日期insert 或者 update到DB后死活不显示时,分,秒?
- 错误:ORA-00054:资源正忙,要求指定NOWAIT。问题出在哪里了?急!!!
- 谁能提供oracle XE 10g下载?官网已经不提供下载了
- oracle group by 多个字段问题
- 怎么在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