2 qq 40076006 qq_40076006 于 2017.09.04 11:16 提问

MAX函数,查不出字段值数据,求高手指点。
max

bao1
ID 姓名
1 张三
2 李四
3 王五

bao2
ID 姓名 职位 日期
1 张三 经理 2017-09-01
2 张三 科长 2017-09-02
3 李四 工人 2017-09-01
4 李四 经理 2017-09-02

先找出bao2中日期最大值的数据,然后再与bao1中姓名作对比,查询结果如下:

查询结果:

姓名 职位 日期
张三 科长 2017-09-02
李四 经理 2017-09-02
王五

注:因为王五在bao2中是没有数据,所以在职位与日期中为空

我写了一条语句,只能查询出姓名,日期,但bao2中的职位找不出来,找高手指点,十分感谢。

{SELECT ID,姓名,(SELECT max(日期) FROM bao2 where bao1.姓名=bao2.姓名)as 日期 FROM bao1}

这条找不出“职位”这一字段的数据,是不是因为这条语句只是把子查询作为列,所以找不出职位这个字段的数据?

4个回答

adu123_
adu123_   2017.09.04 16:03
已采纳

都没有返回职位的字段,怎么显示

cyjdapao
cyjdapao   2017.09.04 11:50

select b1.name,b2.职位 from bao1 b1 left join bao2 b2 on ( b2.name in(select name from bao2 where 日期 in (select max(日期) from bao2)))
或者
select b1.name,b2.职位 from bao1 b1 left join bao2 b2 on b1.name = b2.name AND b2.时间 = (select max(时间) from bao2)

qq_40076006
qq_40076006 不对,有错误
10 个月之前 回复
fanyizhuang
fanyizhuang   2017.09.04 11:27

没有查询职位怎么显示呀

qq_40076006
qq_40076006 帮我看看,要怎么写语句?
10 个月之前 回复
qq_39991461
qq_39991461   2017.09.04 13:07

SELECT t1.*,t2.role,t2.date from biao1 as t1 LEFT JOIN biao2 as t2
on t1.name=t2.name AND t2.date=(select max(date) from biao2)
已经试过可以
1 张三 科长 2017-09-02
2 李四 经理 2017-09-02
3 王五

qq_40076006
qq_40076006 在access上执行,报错。你是在sql上测试的吗?
10 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Mysql使用max函数查询不到最大值
使用max函数对某一字段中的数据进行比较的时候,获取的值却不是最大值,可以在max函数中给该字段加0,如下select max(id+0) from table;这样就可以显示正确的数值...
elasticsearch 求某个字段的值(整型值不是字符串)的avg,max,min,cardinality求唯一值(某个字段不重复的值),percentiles求百分比,
elasticsearch 求某个字段的值(整型值不是字符串)的avg,max,min,cardinality求唯一值(某个字段不重复的值),percentiles求百分比, stats 可以统计数量,min,max,avg,sum的值 metric的聚合按照值的返回类型可以分为两种:单值聚合 和 多值聚合。 单值聚合 Sum 求和 这个聚合返回的是单个值,dsl
mysql分库Max()函数出现两个值问题
mysql分库,使用Max()函数,会去两个库中查询最大值,且union一下,所以会出现两个值
Oracle中取多个字段多个列最大值最小值的方法
今天写sql语句,需要取出多个字段列中的最大值和最小值。      本来想到的做法比较麻烦,要分别取出max(one),max(two),max(three),放到pb中在编程处理。      后来找到个greatest 函数和least函数,只用写greatest (max(one),max(two),max(three))就解决问题,least用法同,good。   求多列的最大值,o
使用group by,having,count函数查询表中某字段相同内容的数据
方法一: 思路:使用group by分组,再用count计算每组的个数,最后用having比较计算后的值大于1的数据。           select  PRODUCT_CODE from TM_CIS_REQ_PRD_HIS_COUNT                  group by PRODUCT_CODE,CREDIT_ORG_CODE,REQ_DATE          
mongodb 中max、min、sum、avg等函数用法
mongodb max、min、sum、avg用法
使用Hibernate获取最大值(max)的三种方法
转:http://blog.csdn.net/zzr173/archive/2008/12/12/3504856.aspx 获取最大值的三种方法:1. 使用 hsqlLong l = (Long)getSession().createQuery("select max(a.sn) from T a " ).uniqueResult();System.out.println(c);注意:
Mongodb字段更新$max操作符
一、定义 $max操作符会在指定的值大于字段值的时候更新掉字段值,$max操作符可以比较不同的数据类型,使用BSON比较排序规则; $max操作符有如下的格式: { $max: { : , ... } } 指定的字段是在数组或者内嵌文档中的时候使用点号; 二、规则 如果指定的字段不存在的话$max操作符会设置当前值为指定的字段; 三、例如,$max操作符字段比较 考虑如下的scor
java装饰者模式做的图片工具类
初学java设计模式,求高手指点,求师父。
编写一求两个数的最大值的函数Max,要求用模板实现对任意数据类型数据都可应用该函数求取结果
编写一求两个数的最大值的函数Max,要求用模板实现对任意数据类型数据都可应用该函数求取结果,在main()函数中分别用整型、实型、字符型数据进行测试。#include <iostream> using namespace std; template<class type> type MAX(type x,type y) { return x>y?x: y; ...