求今年最后一条SQL语句

keekeep 2005-02-03 01:47:54
两个库,kf和wch ,两个库中有十来个结构一模一样的表!用info表为例:

我想找出 kf库info表中 除去 <与wch库的info表相同记录> 以外的记录

PS: info表有二十几个字段,只要有任何一个字段值不一样都视为不同.
...全文
239 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
keekeep 2005-02-03
  • 打赏
  • 举报
回复
多谢 >> zjcxc(邹建) 先

试验中...Pass就给分!
keekeep 2005-02-03
  • 打赏
  • 举报
回复
taxi_no 是车号.一个车号对应有许多条记录.我只是要找出符合我以上那个条件以后的车号,不需要把那些记录都列出来...
子陌红尘 2005-02-03
  • 打赏
  • 举报
回复
group by taxi_no用来做什么?
zjcxc 元老 2005-02-03
  • 打赏
  • 举报
回复
--如果不管其他字段

use kf
go

--处理示例
declare @s nvarchar(4000)
select @s=N''
select @s=@s+N' and '+name+N'=a.'+name
from(
select name=quotename(name) from syscolumns
where id=object_id(N'[info]'))a
select @s=stuff(@s,1,4,'')
exec(N'select taxi_no
from [info] a
where not exists(
select * from wch..[info]
where'+@s+N')
group by taxi_no')

zjcxc 元老 2005-02-03
  • 打赏
  • 举报
回复
right join 存储的问题是记录重复时,可能产生多对多的情况
zjcxc 元老 2005-02-03
  • 打赏
  • 举报
回复
--找出 kf库info表中 除去 <与wch库的info表相同记录> 以外的记录
--只要有任何一个字段值不一样都视为不同.
--最后还要 Group by taxi_no(未放入group by 的字段必须放入聚合函数,所以假设其他字段都放入max中)

use kf
go

--处理示例
declare @s nvarchar(4000),@fd nvarchar(4000)
select @s=N'',@fd=N''
select @s=@s+N' and '+name+N'=a.'+name
,@fd=@fd+case
when name=N'[taxi_no]' then @fd
else @fd+N','+name+N'=max('+name+')' end
from(
select name=quotename(name) from syscolumns
where id=object_id(N'[info]'))a
select @s=stuff(@s,1,4,'')
exec(N'select [taxi_no]'+@fd+N'
from [info] a
where not exists(
select * from wch..[info]
where'+@s+N')
group by [taxi_no]')

keekeep 2005-02-03
  • 打赏
  • 举报
回复
TO >> zjcxc(邹建)

可以不显示其它字段,但过程中必须比较两个表中其它所有字段的值,

我要的结果集是kf.dbo.info表中除去和wch.dbo.info表相同记录后taxi_no字段的Group by 值
keekeep 2005-02-03
  • 打赏
  • 举报
回复

>>zjcxc(邹建)

可以不显示其它字段,但在判断时必须判断两个表中其它所有字段的值
keekeep 2005-02-03
  • 打赏
  • 举报
回复
多谢 hdhai9451(Water Space--海洋空間) ,

我要的结果集是kf.dbo.info表中除去和wch.dbo.info表相同记录后的结果..,用right join行吗?
zjcxc 元老 2005-02-03
  • 打赏
  • 举报
回复
最后还要 Group by taxi_no,那其他字段要怎么显示?
keekeep 2005-02-03
  • 打赏
  • 举报
回复
逐字段判断???一个表二十多个字段..19个表.....没有可以全部比较的方法吗??
Andy__Huang 2005-02-03
  • 打赏
  • 举报
回复
select distinct col1,col2,col3,... from kf.dbo.info
union
select distinct col1,col2,col3,... from wch.dbo.info

用union而不是 union all
zjcxc 元老 2005-02-03
  • 打赏
  • 举报
回复
逐字段判断
keekeep 2005-02-03
  • 打赏
  • 举报
回复
对了最后还要 Group by taxi_no,谢谢!!

34,594

社区成员

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

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