新手提问:这样的查询如何写?

FoxLinn 2003-11-19 04:26:41
有2个表:
表A:ID NAME
001 张三
002 李四
003 王五
表B:ID DETAIL
001 开会
001 驾驶
002 休息
002 午饭
1、用select distinct ID from B 可以取得不重复的ID值,而select distinct ID,DETAIL from B 就不能取得不重复的ID值,为什么?
2、如何根据ID值取得表A 中的NAME?用一句语句,而且不能重复。
...全文
39 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zjcxc 元老 2003-11-19
  • 打赏
  • 举报
回复
--查表B的所有内容,及表A的Name
select a.name,b.* from 表A a join (
select id,DETAIL=min(DETAIL) from 表B group by id) b on a.id=b.id



--如果只查Name,可以用:
select a.* from 表A a join (
select distinct id from 表B) b on a.id=b.id
zjcxc 元老 2003-11-19
  • 打赏
  • 举报
回复
1、用select distinct ID from B 可以取得不重复的ID值,
而select distinct ID,DETAIL from B 就不能取得不重复的ID值,为什么?

因为distinct的规则就是这样的,是对所有输出字段的组合判断是否重复,而不是针对一个字段.



2、如何根据ID值取得表A 中的NAME?用一句语句,而且不能重复。

select a.name,b.* from 表A a join (
select id,DETAIL=min(DETAIL) from 表B group by id) b on a.id=b.id
FoxLinn 2003-11-19
  • 打赏
  • 举报
回复
谢谢。
1、原来如此。有什么办法可以取唯一的ID值?不要重复的。
2、我不是这个意思。我的意思是:先通过外部条件,查询B,取得id,再查询A,取得name。name 不能重复。
txlicenhe 2003-11-19
  • 打赏
  • 举报
回复
1、用select distinct ID from B 可以取得不重复的ID值,而select distinct ID,DETAIL from B 就不能取得不重复的ID值,为什么?
只有ID和detail都相同的资料就算重复。
2、如何根据ID值取得表A 中的NAME?用一句语句,而且不能重复。
Select distinct b.id,a.name from b join a on a.id= b.id
wzh1215 2003-11-19
  • 打赏
  • 举报
回复
1.
select distinct ID,DETAIL from B是当ID与DETAIL都相同时才最一个。
2.
select distinct Name where id='002'
MySQL资源包内容推荐 内容概要: 本资源包包含了一系列关于MySQL的详细资料和教程,旨在帮助用户全面了解和掌握MySQL数据库的使用和管理。内容涵盖了MySQL的安装与配置、SQL语言基础、数据库设计、性能优化、安全配置、备份与恢复等多个方面。此外,还包含了一些高级话题,如分区表、复制与集群、存储引擎选择等。资源包形式多样,包括文字教程、案例分析、视频教程、实践练习等,以满足不同用户的学习需求。 适用人群: 初学者:对于刚开始接触MySQL的用户,本资源包提供了从入门到进阶的详细教程,帮助用户快速掌握MySQL的基本操作。 数据库管理员(DBA):对于需要管理多个MySQL数据库的管理员,本资源包提供了丰富的管理和维护技巧,帮助管理员提高工作效率。 开发者:对于使用MySQL进行应用开发的开发者,本资源包提供了深入的技术解析和最佳实践,帮助开发者优化数据库性能,提升应用质量。 技术爱好者:对于对MySQL技术感兴趣的技术爱好者,本资源包提供了丰富的技术资料和案例分析,帮助爱好者深入了解MySQL的核心技术。 使用场景及目标: 学习MySQL基础:用户可以通过本资源包学习MySQL的基础知识,包括SQL语言、数据库设计等。 性能优化:对于已经在使用MySQL的用户,本资源包提供了性能优化的方法和技巧,帮助用户提高数据库的运行效率。 数据库管理:数据库管理员可以利用本资源包中的技巧和建议,提高数据库管理的效率和质量。 解决实际问题:对于在使用MySQL过程中遇到的问题,用户可以在本资源包中找到相应的解决方案。 通过学习和使用本资源包,用户可以达到以下目标: 熟练掌握MySQL的基本操作和管理技能。 能够根据业务需求设计和优化数据库结构。 深入理解MySQL的核心技术和原理。 解决在使用MySQL过程中遇到的各种问题。 其他说明: 本资源包将持续更新,以反映MySQL技术的最新发展和变化。 用户可以在资源包的评论区或相关社区中交流学习心得和经验,共同解决问题和分享资源。 如有任何疑问或建议,欢迎联系我们,我们将尽快回复并提供帮助。

34,834

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧