sql中union 的问题

canzai 2008-10-16 09:10:40
如下:
表A:
id name date
1 aa 10-15
2 bb 10-14
3 cc 10-12

表B:
name date
aa 10-19
bb 10-13
dd 10-10

如果使用 select name,date from A union select name,date from B 之后就会根据表A的情况(即表A有了就不显示表B的记录)显示如下:
name date
aa 10-15
bb 10-14
cc 10-12
dd 10-10
===========================
而如何根据date的情况(即,重复的记录留下date大的那条),显示如下:
name date
aa 10-19
bb 10-14
cc 10-12
dd 10-10







...全文
56 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
-晴天 2008-10-16
  • 打赏
  • 举报
回复
可以.
sqlstr="select name,max(date)as date from (select name,date from ta union all select name,date from tb)t group by name"
conn.execute(sqlstr)
canzai 2008-10-16
  • 打赏
  • 举报
回复
我在asp中使用怎么不行呀?
能不能写成一句sql=“......"之类的语句?
-晴天 2008-10-16
  • 打赏
  • 举报
回复
有一点小改动:
create table ta(id int,name varchar(10),date varchar(10))
insert into ta select 1,'aa','10-15'
insert into ta select 2,'bb','10-14'
insert into ta select 3,'cc','10-12'
create table tb(name varchar(10),date varchar(10))
insert into ta select 1,'aa','10-19'
insert into ta select 2,'bb','10-13'
insert into ta select 3,'dd','10-10'

select name,max(date)as date from (
select name,date from ta
union all
select name,date from tb
)t
group by name
go
drop table ta,tb
/*
name date
---------- ----------
aa 10-19
bb 10-14
cc 10-12
dd 10-10
*/
-晴天 2008-10-16
  • 打赏
  • 举报
回复
当然,楼主要的是这个:
create table ta(id int,name varchar(10),date varchar(10))
insert into ta select 1,'aa','10-15'
insert into ta select 2,'bb','10-14'
insert into ta select 3,'cc','10-12'
create table tb(name varchar(10),date varchar(10))
insert into ta select 1,'aa','10-19'
insert into ta select 2,'bb','10-13'
insert into ta select 3,'dd','10-10'

select name,max(date) from (
select name,date from ta
union all
select name,date from tb
)t
group by name
go
drop table ta,tb
/*
name date
---------- ----------
aa 10-19
bb 10-14
cc 10-12
dd 10-10
*/
canzai 2008-10-16
  • 打赏
  • 举报
回复
自己顶一下
-晴天 2008-10-16
  • 打赏
  • 举报
回复
楼主弄错了吧!
create table ta(id int,name varchar(10),date varchar(10))
insert into ta select 1,'aa','10-15'
insert into ta select 2,'bb','10-14'
insert into ta select 3,'cc','10-12'
create table tb(name varchar(10),date varchar(10))
insert into ta select 1,'aa','10-19'
insert into ta select 2,'bb','10-13'
insert into ta select 3,'dd','10-10'

select name,date from ta
union all
select name,date from tb
go
drop table ta,tb
/*
name date
---------- ----------
aa 10-15
aa 10-19
bb 10-13
bb 10-14
cc 10-12
dd 10-10

*/

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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