各位大神,求SQL语句,急求。。。

lzk1018834925 2012-08-04 02:53:04
现有表:
zk 主库 id,bm,hc,....
jd 下达决定书库 id,bm,hc,xdrq...
jk 缴款库 id,bm,hc,jkje,jkrq...
zj 征结库(罚款已在规定日期内交完)id,bm,hc,time...

bm和hc同时决定一条数据
前提条件:
未完成,zj 征结库 里边不含bm和hc决定的那条数据

时间段

1、下达时间一年内交款2000以上 !以后,每年交款2000以上;若交款少于2000,列入催缴范围,连续2年交款少于2000,提交法院
10-10-01下达 至11-10-01 期间交款2000以上 11-10-01 至12-10-01 不提醒,
12-10-01 提醒催缴,12-10-01至13-10-01 少于2000 ,
13-10-01 提交

2、下达时间一年内交款2000一下 第一年催款,第二年提交法院
10-10-01下达 催缴至11-10-01 11-10-02提交法院

需要提醒的SQL语句
需要提交法院的SQL语句
...全文
14551 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
ORAClE SE 2012-08-09
  • 打赏
  • 举报
回复
不知道挣这些分有啥用啊。。。。
lzk1018834925 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]
引用 14 楼 的回复:
引用 11 楼 的回复:
以下我整理的SQL语句,有点复杂

SQL code


--需要提醒缴款的
select c.[id],c.[bm],c.[hc] from [jk] c
where not exists (select 1 from [zj] d where (d.[bm]+d.[hc])=(c.[bm]+c.[hc]))
and (((……
[/Quote]

留个QQ神马的联系方式呗?
实在是解决不了了。。。
lzk1018834925 2012-08-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
这么复杂。才40分
[/Quote]
留个QQ神马的联系方式呗?
是在是解决不了了。。。
lzk1018834925 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]
以下我整理的SQL语句,有点复杂

SQL code


--需要提醒缴款的
select c.[id],c.[bm],c.[hc] from [jk] c
where not exists (select 1 from [zj] d where (d.[bm]+d.[hc])=(c.[bm]+c.[hc]))
and (((c.[bm]+c.[hc]) in (select d……
[/Quote]

看的我都头晕,这嵌套的也太多了点吧?
lzk1018834925 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 的回复:]
引用 7 楼 的回复:

引用 1 楼 的回复:
这么复杂。才40分

啊啊?
怎么不帮忙啊?
帮忙写出来哇?

来了,我自己搞了点测试数据
然后写了一个 你根据思路改改



SQL code





--> 测试数据:[缴款库]
IF OBJECT_ID('[缴款库]') IS NOT NULL DROP TABLE [缴款库]
GO
CREAT……
[/Quote]

呃?你确定我写的条件你都满足了?
恩?看着怎么不对呢?
筱筱澄 2012-08-08
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

引用 8 楼 的回复:
引用 7 楼 的回复:

引用 1 楼 的回复:
这么复杂。才40分

啊啊?
怎么不帮忙啊?
帮忙写出来哇?

来了,我自己搞了点测试数据
然后写了一个 你根据思路改改



SQL code





--> 测试数据:[缴款库]
IF OBJECT_ID('[缴款库]') IS NOT NULL DROP TABLE [……
[/Quote]
我也只能在做这么多了。

你感觉那里不对了
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 的回复:]
引用 11 楼 的回复:
以下我整理的SQL语句,有点复杂

SQL code


--需要提醒缴款的
select c.[id],c.[bm],c.[hc] from [jk] c
where not exists (select 1 from [zj] d where (d.[bm]+d.[hc])=(c.[bm]+c.[hc]))
and (((c.[bm]+c.[hc])……
[/Quote]
你的要求决定了需要写这么多条件,而且你仔细看,都只有1层嵌套,这个不算复杂。
walkman_22 2012-08-07
  • 打赏
  • 举报
回复
楼主多少给点示例数据吧~~
  • 打赏
  • 举报
回复
以下我整理的SQL语句,有点复杂

--需要提醒缴款的
select c.[id],c.[bm],c.[hc] from [jk] c
where not exists (select 1 from [zj] d where (d.[bm]+d.[hc])=(c.[bm]+c.[hc]))
and (((c.[bm]+c.[hc]) in (select distinct (a.[bm]+a.[hc]) from [jk] a,[jd] b
where (a.[bm]+a.[hc]=b.[bm]+b.[hc])
and dateadd(year,1,b.[xdrq])>a.[jkrq] and a.[jkje]>=2000)
and not exists (select 1 from [jk] e,[jd] f where (e.[bm]+e.[hc])=(c.[bm]+c.[hc]) and (e.[bm]+e.[hc])=(f.[bm]+F.[hc]) and e.[jkrq]>dateadd(year,2,f.[xdrq])))
or
((c.[bm]+c.[hc]) in (select distinct (i.[bm]+j.[hc]) from [jk] i,[jd] j
where (i.[bm]+i.[hc]=j.[bm]+j.[hc])
and dateadd(year,1,j.[xdrq])>i.[jkrq] and i.[jkje]<2000)
and not exists (select 1 from [jk] g,[jd] h where (g.[bm]+g.[hc])=(c.[bm]+c.[hc]) and (g.[bm]+g.[hc])=(h.[bm]+h.[hc]) and g.[jkrq]>dateadd(year,1,h.[xdrq]))))

--需要提交法院的
select c.[id],c.[bm],c.[hc] from [jk] c
where not exists (select 1 from [zj] d where (d.[bm]+d.[hc])=(c.[bm]+c.[hc]))
and (((c.[bm]+c.[hc]) in (select distinct (a.[bm]+a.[hc]) from [jk] a,[jd] b
where (a.[bm]+a.[hc]=b.[bm]+b.[hc])
and dateadd(year,1,b.[xdrq])>a.[jkrq] and a.[jkje]<2000)
and exists (select 1 from [jk] e,[jd] f where (e.[bm]+e.[hc])=(c.[bm]+c.[hc]) and (e.[bm]+e.[hc])=(f.[bm]+F.[hc]) and e.[jkrq] between dateadd(year,1,f.[xdrq]) and dateadd(year,2,f.[xdrq])))
or
((c.[bm]+c.[hc]) in (select distinct (i.[bm]+j.[hc]) from [jk] i,[jd] j
where (i.[bm]+i.[hc]=j.[bm]+j.[hc])
and dateadd(year,1,j.[xdrq])>i.[jkrq] and i.[jkje]>=2000)
and exists (select 1 from [jk] g,[jd] h where (g.[bm]+g.[hc])=(c.[bm]+c.[hc]) and (g.[bm]+g.[hc])=(h.[bm]+h.[hc]) and g.[jkrq] between dateadd(year,2,h.[xdrq]) and dateadd(year,3,h.[xdrq]) and g.[jkje]<2000)))

筱筱澄 2012-08-05
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 的回复:]

请问楼上用的什么SQL工具呀,,,挺不错的。
[/Quote]
这个是自己手写的 有个sql prompt 不错。
卡卡她爹 2012-08-05
  • 打赏
  • 举报
回复
请问楼上用的什么SQL工具呀,,,挺不错的。
筱筱澄 2012-08-05
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 1 楼 的回复:
这么复杂。才40分

啊啊?
怎么不帮忙啊?
帮忙写出来哇?
[/Quote]
来了,我自己搞了点测试数据
然后写了一个 你根据思路改改






--> 测试数据:[缴款库]
IF OBJECT_ID('[缴款库]') IS NOT NULL DROP TABLE [缴款库]
GO
CREATE TABLE [缴款库]([id] INT,[bm] VARCHAR(1),[hc] VARCHAR(1),[jkje] INT,[jkrq] DATETIME)
INSERT [缴款库]
SELECT 1,'a','b',2100,'2010-01-12' UNION ALL
SELECT 2,'a','b',1000,'2011-01-12' UNION ALL
SELECT 3,'a','b',2100,'2012-01-12' UNION ALL
SELECT 4,'a','c',3100,'2010-01-12' UNION ALL
SELECT 5,'a','c',1000,'2011-01-12' UNION ALL
SELECT 6,'a','c',1100,'2012-01-12' UNION ALL
SELECT 7,'a','d',1200,'2010-01-12' UNION ALL
SELECT 8,'a','d',2100,'2011-01-12' UNION ALL
SELECT 9,'a','d',3200,'2012-01-12'
GO

--> 测试语句:
--列入催缴范围的
SELECT * FROM [缴款库] as a
where jkje<=2000
and exists(
select 1 from [缴款库] as b where b.[bm]=a.[bm]
and b.[hc]=a.[hc]
and b.jkje>2000
and b.[jkrq]<a.[jkrq]
and not exists(
select 1 from [缴款库] where [bm]=b.[bm]
and [hc]=b.[hc]
and ([jkrq]>a.[jkrq] or [jkrq]<a.[jkrq])
and jkje<2000
)
)
/*
id bm hc jkje jkrq
----------- ---- ---- ----------- -----------------------
2 a b 1000 2011-01-12 00:00:00.000

(1 行受影响)
*/

--提交法院的
SELECT * FROM [缴款库] as a
where jkje<=2000
and exists(
select 1 from [缴款库] as b where b.[bm]=a.[bm]
and b.[hc]=a.[hc]
and b.jkje>2000
and b.[jkrq]<a.[jkrq]
and exists(
select 1 from [缴款库] where [bm]=b.[bm]
and [hc]=b.[hc]
and ([jkrq]>a.[jkrq] or [jkrq]<a.[jkrq])
and jkje<2000
)
)
/*
id bm hc jkje jkrq
----------- ---- ---- ----------- -----------------------
5 a c 1000 2011-01-12 00:00:00.000
6 a c 1100 2012-01-12 00:00:00.000

(2 行受影响)

*/
lzk1018834925 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
这么复杂。才40分
[/Quote]
啊啊?
怎么不帮忙啊?
帮忙写出来哇?
lzk1018834925 2012-08-04
  • 打赏
  • 举报
回复
测试数据?测试数据我自己都木有,这不是我建的库,
也只是给我了个空库。。。
你自己随便添加点就行。。。
筱筱澄 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

引用 3 楼 的回复:
引用 2 楼 的回复:

引用 1 楼 的回复:
这么复杂。才40分

我晕。。。现在这不是急嘛,先玩直接发布了
。。。
回复了还可以修改分么?

管理菜单--帖子加分


晕死,行,我追加,
你可得给我鼓捣出来哈。。。
[/Quote]
菜菜,要不你在来点测试数据,字段不要太多,弄关键的
lzk1018834925 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
引用 2 楼 的回复:

引用 1 楼 的回复:
这么复杂。才40分

我晕。。。现在这不是急嘛,先玩直接发布了
。。。
回复了还可以修改分么?

管理菜单--帖子加分
[/Quote]

晕死,行,我追加,
你可得给我鼓捣出来哈。。。
筱筱澄 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

引用 1 楼 的回复:
这么复杂。才40分

我晕。。。现在这不是急嘛,先玩直接发布了
。。。
回复了还可以修改分么?
[/Quote]
管理菜单--帖子加分
lzk1018834925 2012-08-04
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
这么复杂。才40分
[/Quote]
我晕。。。现在这不是急嘛,先玩直接发布了
。。。
回复了还可以修改分么?
筱筱澄 2012-08-04
  • 打赏
  • 举报
回复
这么复杂。才40分

27,579

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 应用实例
社区管理员
  • 应用实例社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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