帮忙写SQL语句,在线等

xyqiqi 2004-10-20 12:04:48
有两张表
a: billno checkdate
001 2004-10-12 12:00:00
002 2004-10-12 13:00:00
b: billno goodscode
001 01
001 02
001 03
002 02
002 03
002 04
b为a的明细表,现在要查询每个goodscode中checkdate最小的sql语句.
...全文
208 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyqiqi 2004-10-21
  • 打赏
  • 举报
回复
这样不是和刚才的那个差不多。
我现在是主表和明细表中的数据都要
mgsray 2004-10-20
  • 打赏
  • 举报
回复
select goodscode ,min(checkdate) from (select b.goodscode, a.checkdate from a ,b where a.billno=b.billno) a
group by a.goodscode
Andy__Huang 2004-10-20
  • 打赏
  • 举报
回复
select a.*,b.goodscode from a
left join (select billno,goodscode=min(goodscode) from b group by billno )b
on a.billno=b.billno
软件钢琴师 2004-10-20
  • 打赏
  • 举报
回复
上面的那个查询有问题,改成这样
----查询:
select goodscode ,min(checkdate) from (select bb.goodscode, aa.checkdate from aa ,bb where aa.billno=bb.billno) aa
group by aa.goodscode
结果:
goodcode 无列名
01 2004-10-12 12:00:00
02 2004-10-12 12:00:00
03 2004-10-12 12:00:00
04 2004-10-12 13:00:00
xyqiqi 2004-10-20
  • 打赏
  • 举报
回复
是checkdate最小
软件钢琴师 2004-10-20
  • 打赏
  • 举报
回复
--测试:
create table aa (billno varchar(10),checkdate varchar(20))
insert into aa select '001','2004-10-12 12:00:00'
union all select '002','2004-10-12 13:00:00'

create table bb (billno varchar(10),goodscode varchar(20))
insert into bb select '001','01'
union all select
'001','02'union all select
'001','03'union all select
'002','02'union all select
'002','03'union all select
'002','04'

--查询:
select aa.*,bb.goodscode from aa
left join (select billno,goodscode=min(goodscode) from bb group by billno )bb
on aa.billno=bb.billno
watercoolcool 2004-10-20
  • 打赏
  • 举报
回复
t1: a b
-------------------
1 a
2 b
3 c

t2: a b c
----------------------
1 a 1
1 b 1
2 c 1

求一语句从t1中筛掉t2中存在的数据后检索出表
t3: a b
--------------
2 b
3 c

xyqiqi 2004-10-20
  • 打赏
  • 举报
回复
如果把billno列加上不就不对了吗?

34,588

社区成员

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

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