0 0

一个比较复杂的sql问题5

现有5张表
table s{
  sid
  name
}

table f{
  fid
  name
  sid
}

table c{
  cid
  name
}

table tmp{
  fid
  cid
}

table detail{
  id
  cid
  credit
}

sid是表s的键,fid是表f的键,cid是表c的键,f表和表c是多对多关系。
现在想列出c表中属于某个sid的所有记录(按credit值从大到小)
(同一个cid在detail表中可能有多条记录)
如何写这sql语句?

多谢多谢!

问题补充:
anranran 写道
select * from f,c,tmp,detail
where f.fid = tmp.fid
      and c.cid=tmp.cid
      and detail.cid = c.cid
      and f.sid='mysid'
      order by credit;



多谢网友anranran的回答。
但我的问题表述不够准确。我要的结果是:按credit平均值从大到小排序。如:

detail表中有记录:

  id   cid      credit
  1     2         3
  2     3         4
  3     2         6
  4     2         3
  5     3         2
  6     1         2

我要的输出结果是:

       cid       credit
        2        (3+6+3)/3=4
        3        (4+2)/2=3
        1          2

谢谢!
2010年1月30日 15:14

2个答案 按时间排序 按投票排序

0 0

select cid, avg(credit) "avg_credit" from detail group by cid order by avg_credit desc

2010年2月01日 16:51
0 0

select * from f,c,tmp,detail
where f.fid = tmp.fid
      and c.cid=tmp.cid
      and detail.cid = c.cid
      and f.sid='mysid'
      order by credit;

2010年1月30日 20:03

相关推荐

    SQL复杂SQL语句

    根据给定的信息,我们可以分析并总结出以下关于“SQL复杂SQL语句”的知识点: ### SQL复杂查询概述 在SQL中,复杂查询通常涉及到多个表之间的连接、子查询、聚合函数等高级特性。这类查询能够帮助我们从数据集中...

    常用复杂sql语句

    根据提供的文件信息,我们可以归纳出几个重要的SQL知识点,这些知识点主要围绕着复杂的SQL查询操作,包括子查询、分组查询、以及多表...掌握这些技巧不仅有助于提高SQL查询的能力,还能在实际工作中解决更复杂的问题。

    几十个复杂的 面试SQL语句

    这些示例展示了如何在实际应用中使用SQL解决复杂的问题,涵盖了删除重复记录、多表查询、窗口函数等多种技术。通过这些示例的学习,可以提高面试者对于SQL的理解和运用能力,为面试做更充分的准备。

    SQLServer数据库复杂查询示例

    子查询,也称为嵌套查询,是在一个查询语句内部使用的另一个查询语句。它可以用来获取单个值、一组值或一个表,然后用作外部查询的一部分。子查询可以作为SELECT、FROM或WHERE子句的一部分,提供灵活的数据过滤和...

    SQL SERVER 字符集问题之一解决

    在 SQL SERVER 中,字符集问题是一个复杂的问题,需要深入了解字符集的原理和应用。同时,需要了解数据库设计和优化的原则,以便更好地解决数据库问题。 七、参考文献 1. SQL SERVER 官方文档 2. DATABASE DESIGN ...

    sql问题 感觉挺经典。

    从给定的SQL查询语句和部分数据内容中,我们可以解析出一个经典的SQL问题场景,主要涉及到了SQL的多个核心概念和技术,包括:子查询、聚合函数、内连接、条件筛选以及CASE语句的使用。下面我们将对这些知识点进行...

    SQL工具SqlDbx

    关键词提示是SqlDbx的一个核心特性,它能够自动补全SQL语句中的关键字和对象名,大大减少了编写SQL语句的时间。这个功能对于初学者来说非常友好,可以帮助他们更快地熟悉SQL语法,同时也提升了专业开发者的编写效率...

    sql-server中复制数据库某一个表到另一个数据库中

    在SQL Server环境中,有时我们需要将一个数据库中的某个表复制到另一个数据库中,这可能是为了备份、数据迁移或创建测试环境等目的。根据提供的标题、描述和部分代码内容,我们可以整理出一套较为完整的操作流程和...

    SQL SQLPrompt 9 SQL 2016/2017可用

    SQL Prompt是Redgate Software开发的一款高效SQL代码编辑工具,它为SQL Server的开发人员提供了智能提示、格式化、重构和代码分析等功能,极大地提升了编写和维护SQL代码的效率。SQL Prompt 9是该系列的最新版本,...

    SQL SERVER安装问题集锦

    安装过程中可能出现“创建一个或多个注册表时出现错误”,并提示查看 `C:\windows\\sqlstp.log` 文件了解详情。 **解决方案:** 1. **检查安装路径**: - 确认安装路径中不存在中文或其他非英文字符。 2. **更改...

    数据库复杂查询SQL

    其次,**SQL嵌套查询**是在一个查询语句内部嵌套另一个查询,用于从一个关系中筛选满足与另一个关系相关条件的元组。在"订货管理"数据库中,如果我们想知道工资为1250元的职工所在仓库的信息,可以使用嵌套查询。...

    SQL语句复杂查询

    通过实际操作加深对SQL语言的理解,提高处理复杂数据查询问题的能力。 #### 实验环境配置 - **操作系统**: WinXP Professional - **数据库系统**: SQL Server 2000 #### 实验步骤与示例 ##### 1. 恢复数据库及其...

    SQL Optimizer for SQL Server 10.0.3

    3. **复杂查询优化**:对于包含多个JOIN、子查询或者窗口函数的复杂SQL语句,优化器能帮助找出最佳的执行路径,降低复杂度。 4. **索引策略**:有效的索引设计是提升查询性能的关键。SQL Optimizer可以评估现有索引...

    Go-Go-SQLBuilder是一个用于创建SQL语句的工具函数库

    Go-Go-SQLBuilder是一个专为Go语言设计的SQL构建器库,它的主要目标是帮助开发者更方便地构造复杂的SQL查询语句。这个库通过提供一套链式操作的API,使得编写SQL语句变得简洁而直观,同时也确保了代码的可读性和可...

    sql 面试问题集

    SQL面试问题集通常包含多种级别的SQL问题,从基础知识点到高级概念,这些问题旨在考察求职者对SQL的掌握程度以及他们解决数据库相关问题的能力。 在数据库领域中,SQL语言是核心技能之一。尽管SQL语言有标准规范,...

    SQL 执行超长语句

    2. **数据清洗**:对于需要根据特定规则对数据进行清洗的应用场景,可能会使用到包含多个CASE WHEN语句的复杂SQL语句。 3. **报表生成**:生成复杂的报表时,往往需要从多个表中抽取数据并进行复杂的联接操作,从而...

    sqlservr32和sqlservr64.zip

    总的来说,SQL Server服务无法启动是一个复杂的问题,可能涉及多个因素。通过替换`sqlservr32.exe`和`sqlservr64.exe`文件是一种常见的解决手段,但解决问题的过程需要耐心和细致的排查。在处理这类问题时,保持对...

    SQL优化 SQL优化软件 SQL优化工具

    总的来说,SQL优化是一个系统性的工作,需要结合硬件配置、数据库设计、SQL编写等多个方面进行综合考虑。而借助专业的SQL优化工具,这个过程可以变得更加高效和精确,从而确保数据库系统的稳定和高效运行。

Global site tag (gtag.js) - Google Analytics