免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3258 | 回复: 16
打印 上一主题 下一主题

急急急!各位高手,兄弟周末考试,全是巨变态的sql语句,麻烦各位帮我看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-11-24 20:01 |只看该作者 |倒序浏览
一、产品表
产品ID        产品名称        生产厂家        国别        数量
1        丰田200        日本        日本        41
2        桑塔纳        上海        中国        65

二、订单表:
订单ID        客户ID        产品ID        数量        日期
1        1        1        8        2003-3-12
2        1        2        20        2003-3-5

三、客户表:
客户ID        客户名称                   客户地址                  城市        电话
1        创业集团                   北京中关村56号        北京        010-12345678
2        上海出租车公司        上海浦东34号        上海        021-87654321
根据上述三张表,求下列sql语句
A、统计每一种产品的订单数,查询结果按照订单数降序排列,若订单数相同则按照客户ID升序排列
B、检索既定购了“日本”产品又订购了“中国”产品的客户名称

论坛徽章:
0
2 [报告]
发表于 2005-11-25 13:31 |只看该作者
不会吧
这么简单的SELECT语句都说变态?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2005-11-25 18:23 |只看该作者
原帖由 ericli 于 2005-11-25 13:31 发表
不会吧
这么简单的SELECT语句都说变态?


兄弟,看清楚了再表明观点!

论坛徽章:
1
15-16赛季CBA联赛之江苏
日期:2017-04-05 11:23:15
4 [报告]
发表于 2005-11-26 15:13 |只看该作者
真的不是很难的

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
5 [报告]
发表于 2005-11-26 16:42 |只看该作者
4楼能用一句话试试吗?

我很想学一学,开始我也觉得很容易,考虑了一下,发现一句话好像不太好做,很想学习一下。

论坛徽章:
0
6 [报告]
发表于 2005-11-26 23:20 |只看该作者
select *,count(*) num from 订单表 a,产品表 b where a.产品ID = b.产品ID
group by b.产品ID
order by desc num, a.客户ID

论坛徽章:
0
7 [报告]
发表于 2005-11-26 23:30 |只看该作者
select a.客户ID,b.国别 from 订单表 a,产品表 b where a.产品ID = b.产品ID
group by 1,2 into temp tmp;
select a.客户名称 from 客户表 a, tmp b, tmp c
where a.客户ID = b.客户ID and b.国别 = “中国”
and a.客户ID = c.客户ID and c.国别 = “日本”

论坛徽章:
0
8 [报告]
发表于 2005-11-26 23:31 |只看该作者
有人能将第二个问题用一句话写出来吗?学习。

论坛徽章:
1
15-16赛季CBA联赛之江苏
日期:2017-04-05 11:23:15
9 [报告]
发表于 2005-11-28 08:54 |只看该作者
原帖由 snow888 于 2005-11-26 16:42 发表
4楼能用一句话试试吗?

我很想学一学,开始我也觉得很容易,考虑了一下,发现一句话好像不太好做,很想学习一下。

第二题
以下为实验所得

  1. select * from a;
  2. select * from b;
  3. select * from c;
  4. select c2 from c where c1=
  5.                    (
  6.                      select b2 from b where b3=
  7.                                 (select a1 from a where a3="中國" or a3 = "日本")
  8.                    )
复制代码

结果

  1.     a1 a2         a3         a4                  a5

  2.      1 豐田200  ?日本       日本                41
  3.      2 桑塔納     上海       中國                65


  4.     b1     b2     b3     b4 b5

  5.      1      1      1      8 2003-3-12
  6.      2      1      2     20 2003-3-5


  7.     c1 c2         c3                             c4         c5

  8.      1 創業集團   北京中關村56號                 北京       010-12345678
  9.      2 上海計程車 上海浦東34號                   上海       021-87654321


  10. c2

  11. [color=Red]創業集團[/color]
复制代码

:em11::em11::em11:

论坛徽章:
1
15-16赛季CBA联赛之江苏
日期:2017-04-05 11:23:15
10 [报告]
发表于 2005-11-28 11:35 |只看该作者
搞错了,应该是下面的语句:
  1. select  c2 from c where c1 in(
  2. select  b2 from b where b3 in(
  3. select a1 from a where a4="日本" or a4="中國"))
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP