查询 三层以内的关联信息
fieldA1 表示 表tableA 中的第一个字段 其它类似
表join
--------------
name localfield toTable tofield memo
123_join fieldA1 tableB fieldB1 A_TableB_B
345_join fieldA1 tableC fieldC1 A_TableC_C
234_join fieldB1 tableE fieldE1 B_TableE_E
33_3join fieldE1 tableF fieldF2 E_TableF_F
.....
(1)当前台输入 tableA123_join fieldA1 tableB fieldB1 A_TableB_B
345_join fieldA1 tableC fieldC1 A_TableC_C
234_join fieldB1 tableE fieldE1 B_TableE_E A-B-E
A-C
备注:当B-C或者 E-C 相连时 也要查出关联的记录
(2)当输入tableB123_join fieldA1 tableB fieldB1 A_TableB_B
345_join fieldA1 tableC fieldC1 A_TableC_C
234_join fieldB1 tableE fieldE1 B_TableE_E
33_3join fieldE1 tableF fieldF2 E_TableF_F
B-A-C
B-E-F(3)当输入tableC
123_join fieldA1 tableB fieldB1 A_TableB_B
345_join fieldA1 tableC fieldC1 A_TableC_C
C-A-B备注:此时只查三层以内的数据(4)当输入tableE234_join fieldB1 tableE fieldE1 B_TableE_E
33_3join fieldE1 tableF fieldF2 E_TableF_F
123_join fieldA1 tableB fieldB1 A_TableB_BE-F
E-B-A
请高手出手 分数大大的如果回答的好 可另外开贴
fieldA1 表示 表tableA 中的第一个字段 其它类似
表join
--------------
name localfield toTable tofield memo
123_join fieldA1 tableB fieldB1 A_TableB_B
345_join fieldA1 tableC fieldC1 A_TableC_C
234_join fieldB1 tableE fieldE1 B_TableE_E
33_3join fieldE1 tableF fieldF2 E_TableF_F
.....
(1)当前台输入 tableA123_join fieldA1 tableB fieldB1 A_TableB_B
345_join fieldA1 tableC fieldC1 A_TableC_C
234_join fieldB1 tableE fieldE1 B_TableE_E A-B-E
A-C
备注:当B-C或者 E-C 相连时 也要查出关联的记录
(2)当输入tableB123_join fieldA1 tableB fieldB1 A_TableB_B
345_join fieldA1 tableC fieldC1 A_TableC_C
234_join fieldB1 tableE fieldE1 B_TableE_E
33_3join fieldE1 tableF fieldF2 E_TableF_F
B-A-C
B-E-F(3)当输入tableC
123_join fieldA1 tableB fieldB1 A_TableB_B
345_join fieldA1 tableC fieldC1 A_TableC_C
C-A-B备注:此时只查三层以内的数据(4)当输入tableE234_join fieldB1 tableE fieldE1 B_TableE_E
33_3join fieldE1 tableF fieldF2 E_TableF_F
123_join fieldA1 tableB fieldB1 A_TableB_BE-F
E-B-A
请高手出手 分数大大的如果回答的好 可另外开贴
解决方案 »
- MFC通过ODBC访问ORACLE数据库问题
- versions_startscn和versions_endscn与start_scn commit_scn的联系
- 请问 database links的密码怎么解密
- 写了一个存储过程,但客户不让用游标,不知道怎么写了,高手们快来帮忙吧!!!!急..
- 提问,关于数据库备份和回复的!
- 紧急问题,请高手指教
- 一个比较有意思的sql 语句!只用一个SQL 语句!要一定智力!
- D2000与ORACLE问题!!!!中秋没有休息了!
- oracle 如何设置使得用户每次登录都要求必须修改密码?
- Oracle触发器,同一时间向一张表插入大量数据会出问题吗?
- 请教:存储过程中重复数据排除方法
- 菜鸟弱弱地问下,想查询数据库有什么表应该怎么查询
joinTb
-------------------------------------------------
name localTable localfield toTable tofield
123_join tableA fieldA1 tableB fieldB1
345_join tableA fieldA1 tableC fieldC1
234_join tableB fieldB1 tableE fieldE1
33_3join tableE fieldE1 tableF fieldF2
23_3join tableE fieldE2 tableJ fieldJ2
09_3join tableE fieldE5 tableK fieldK2
09_3join tableM fieldM2 tableF fieldF1
//查询第一层
select * from joinTb where localTable='tableA';
-----------------------------------------------
name localTable localfield toTable tofield
123_join tableA fieldA1 tableB fieldB1
345_join tableA fieldA1 tableC fieldC1
//查询第二层
select * from joinTb where localTable='tableB';
-----------------------------------------------
234_join tableB fieldB1 tableE fieldE1 select * from joinTb where localTable='tableC';
-----------------------------------------------
无记录
//查询第三层
select * from joinTb where localTable='tableE'
----------------------------------------------
33_3join tableE fieldE1 tableF fieldF2
23_3join tableE fieldE2 tableJ fieldJ2
09_3join tableE fieldE5 tableK fieldK2
//检测第三层节点与所有已经有关联的节点是否有联系
select count(1) from joinTb where localTable='tableF' and toTable='tableA'
--------------------------------------------------------------------------
无记录
select count(1) from joinTb where localTable='tableF' and toTable='tableB'
--------------------------------------------------------------------------
无记录
select count(1) from joinTb where localTable='tableF' and toTable='tableC'
--------------------------------------------------------------------------
无记录
select count(1) from joinTb where localTable='tableF' and toTable='tableE'
--------------------------------------------------------------------------
无记录
select count(1) from joinTb where localTable='tableF' and toTable='tableJ'
--------------------------------------------------------------------------
无记录
select count(1) from joinTb where localTable='tableF' and toTable='tableK'
--------------------------------------------------------------------------
无记录
tableJ、与tableK 同上
joinTb
-------------------------------------------------
name localTable localfield toTable tofield
123_join tableA fieldA1 tableB fieldB1
345_join tableA fieldA1 tableC fieldC1
234_join tableB fieldB1 tableE fieldE1
33_3join tableE fieldE1 tableF fieldF2
23_3join tableE fieldE2 tableJ fieldJ2
09_3join tableE fieldE5 tableK fieldK2
09_3join tableM fieldM2 tableF fieldF1
//查询第一层
select * from joinTb where localTable='tableA';
-----------------------------------------------
name localTable localfield toTable tofield
123_join tableA fieldA1 tableB fieldB1
345_join tableA fieldA1 tableC fieldC1
//查询第二层
select * from joinTb where localTable='tableB';
-----------------------------------------------
234_join tableB fieldB1 tableE fieldE1 select * from joinTb where localTable='tableC';
-----------------------------------------------
无记录 检测第三层
select * from joinTb where localTable='tableE' and toTable='tableA'
------------------------------------------------------------------
无记录
select * from joinTb where localTable='tableE' and toTable='tableB'
------------------------------------------------------------------
无记录
select * from joinTb where localTable='tableE' and toTable='tableC'
------------------------------------------------------------------
无记录