sql-SQL如何实现找出与自己关联最顶层的信息

问题描述

SQL如何实现找出与自己关联最顶层的信息


如上图,表一(上表)是原始数据,通过此数据如何查找出表二(下表)的数据(Fid1最底层,找出Fid2最顶层的信息),如d1、d2、c1是Fid1的最底层信息,对应的Fid2的最顶层信息都是a2, 如何通过SQL实现??

以上是固定的只有几层,但是C1下可能还存在很多下层信息,如下。。。。H1——G1——F1——C1 ,这个时候又如何用SQL实现找出最顶层信息

解决方案

http://zhidao.baidu.com/link?url=hbcIFEIMP_BnSPs-wTL5h1SBBBcbyo7SdXB3HV3pB1r1srkDPcoxoMGkqNmcWhe4fZWrH6eH-EsMoUSf5D-wkFL2aE6GZJfkgl0zkLVBcpm

解决方案二:

虽然没看明白,但感觉用union可以实现

解决方案三:

http://zhidao.baidu.com/link?url=hbcIFEIMP_BnSPs-wTL5h1SBBBcbyo7SdXB3HV3pB1r1srkDPcoxoMGkqNmcWhe4fZWrH6eH-EsMoUSf5D-wkFL2aE6GZJfkgl0zkLVBcpm

时间: 2024-10-31 21:47:51

sql-SQL如何实现找出与自己关联最顶层的信息的相关文章

如何找出哪个Mac应用在使用位置信息并关掉它

  当系统服务请求位置的时候,如何在菜单栏中显示位置图标(本文针对新手,资深用户可忽略): 1.打开"系统偏好设置"-"安全性与隐私" 2.点击"隐私"-"定位服务",在"启用定位服务"下向下拉,点击"详细信息"(注意:要先点击左下角的按钮锁解锁) 3.在弹出框中勾选:当"系统服务"请求您的位置时,在菜单栏中显示位置图标,并点击完成. 现在,例如地图应用或一些不法应用

MySQL中用通用查询日志找出查询次数最多的语句的教程_Mysql

MySQL开启通用查询日志general log mysql打开general log之后,所有的查询语句都可以在general log文件中以可读的方式得到,但是这样general log文件会非常大,所以默认都是关闭的.有的时候为了查错等原因,还是需要暂时打开general log的(本次测试只修改在内存中的参数值,不设置参数文件). general_log支持动态修改: mysql> select version(); +-----------+ | version() | +------

如何找出引起ORA-1652的SQL

在alert文件中,我们可能会看到这样的报错信息: Wed Aug 20 17:16:37 2008 ORA-1652: unable to extend temp segment by 128 in tablespace DBA_TEMP 要解决这个问题,我们首先要导致这个问题的SQL,可能方法有几种: 1.设置events alter system set events '1652 trace name errorstack level 1'; 这种方法有一定局限: 1)它不能获取已发生的1

这个sql语句怎么写啊?找出每个同学最高分,最低分及对应的科目

问题描述 这个sql语句怎么写啊?找出每个同学最高分,最低分及对应的科目 select name,course as mincourse,score as minscore from userscore ore in(select min(score) from userscore group by name) group by name; select name,course as mincourse,score as minscore from userscore ore in(select

[SQL]透過redgate SQL Monitor 來找出 ASYNC_NETWORK_IO 問題

原文:[SQL]透過redgate SQL Monitor 來找出 ASYNC_NETWORK_IO 問題 最近因為在查一個SQL的效能問題,透過 sys.dm_os_wait_stats 來取得Top的Wait(from Wait statistics, or please tell me where it hurts) ,如下, SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED; GO --1.取得目前最高的Wait WITH [Waits]

求sql查询,找出每门功课成绩最高的学生

问题描述 求sql查询,找出每门功课成绩最高的学生 一个表格有三列:名字.科目.成绩, 科目中有四门功课,怎么设计查询找出每门功课中成绩 最高的那条信息 想到用group by 可是只能查询功课中最高的成绩,不能显示姓名 解决方案 select * from 表 where 成绩 in (select max(成绩) in 表 group by 成绩) 解决方案二: declare @名字 nchar(10),@成绩 smallint select @名字=名字,@成绩=max(成绩) from

SQL语句练习实例之四 找出促销活动中销售额最高的职员_MsSql

复制代码 代码如下: ---找出促销活动中销售额最高的职员 ---你刚在一家服装销售公司中找到了一份工作,此时经理要求你根据数据库中的两张表得到促销活动销售额最高的销售员 ---1.一张是促销活动表 ---2.一张是销售客列表 create table Promotions ( activity nvarchar(30), sdate datetime, edate datetime ) insert Promotions select '五一促销活动','2011-5-1','2011-5-7

如何通过SQL找出2个表里值不同的列的方法_Mysql

以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列. Student_1 NAME AGE SCORE peter 26 100 jack 25 96 daniel 26 48 bark 21 69     Student_2 NAME AGE SCORE peter 26 89 jack 25 96 daniel 26 48 bark 21 69   方法一 -- NOT EXISTS: 复制代码 代码如下: SELECT *FROM Student_1 S1WHERE NOT EX

如何找出你性能最差的SQL Server查询

原文:如何找出你性能最差的SQL Server查询 我经常会被反复问到这样的问题:"我有一个性能很差的SQL Server.我如何找出最差性能的查询?".因此在今天的文章里一些让你很容易找到问题答案的信息和向导. 问SQL Server! SQL Server的一个优点是它本身能回答几乎所有你的问题,因为SQL Server在各个DMV和DMF里存储了很多故障排除信息.另一方面这也是个缺点,因为你必须知道各个DMV/DMF,还有如何把它们解释和关联在一起. 至于你的最差性能SQL Se