📄 subject_56825.htm
字号:
<p>
序号:56825 发表者:grayzhou 发表日期:2003-10-21 09:37:11
<br>主题:一个数据库查询的问题!请高手帮忙!谢谢!
<br>内容:有这样一个数据库,包含“姓名”“年龄”“检查时间”“间隔时间”等(包含在一张表中,有很多列,现在只需要查询上述几列)。在规定的“间隔时间”内(“间隔时间”的单位为“月”),需要进行一次检查,如:某人的“间隔时间”为3,则必须每3个月做一次检查。现在需要检索出超出“间隔时间”而未检查的人,需显示上述4列。该表中,“姓名”“年龄”加“检查时间”是唯一的。请问这个SQL语句如何实现?
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:grayzhou 回复日期:2003-10-21 09:54:15
<br>内容:哪位高手帮帮忙啊!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:grayzhou 回复日期:2003-10-21 12:09:20
<br>内容:焦急等待中!是不是写这个SQL语句很麻烦啊?!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:没有钱的人 回复日期:2003-10-22 17:32:07
<br>内容:Select * From Person a<BR>Where Personid in (Select Personid from Person b <BR> where b.checkdate<dateadd(mm,-间隔时间,getdate()) Or <BR> b.CheckDate Is Null)<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:grayzhou 回复日期:2003-10-23 10:53:35
<br>内容:goldenpeng,还有一种情况我原来没说清楚<BR>例子记录如下:<BR>姓名 年龄 检查时间 间隔时间 (...还有很多列,但我只需检索这四列)<BR>aaaa 24 2003-01-15 3<BR>aaaa 24 2003-03-02 3<BR>aaaa 24 2003-05-05 3<BR>bbbb 25 2003-07-08 3<BR>检索结果为:<BR>姓名 年龄 检查时间 间隔时间<BR>aaaa 24 2003-05-05 3<BR>bbbb 25 2003-07-08 3<BR><BR>如何实现?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:均为国家 回复日期:2003-10-23 23:46:13
<br>内容:Select 姓名. 年龄.MAX( 检查时间 )AS 检查时间MAX, 间隔时间 From Person a<BR>Where Personid in (Select Personid from Person b <BR> where b.checkdate<dateadd(mm,-间隔时间,getdate()) Or <BR> b.CheckDate Is Null)<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:grayzhou 回复日期:2003-10-24 09:10:08
<br>内容:Person a 和 Person b分别是什么意思?
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:grayzhou 回复日期:2003-10-24 20:02:10
<br>内容:sun8086<BR><BR>你写的语句好像执行不了,出错信息为:<BR>列 'a.姓名' 在选择列表中无效因为该列既不包含在聚合函数中,也不包含在 GROUP BY 子句中
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:蝎子王 回复日期:2003-10-25 13:20:42
<br>内容:select 姓名,年龄,检查时间,间隔时间<BR>from 表名称 <BR>where DATEADD ('MM',间隔时间,检查时间) <getdate()<BR>这样就行了。<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:MARY_GARY 回复日期:2003-10-25 14:21:55
<br>内容:select 姓名,年龄,max(检查时间),间隔时间<BR>from 表名称 <BR>where DATEdiff ('MM',检查时间,getdate())>间隔时间<BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:grayzhou 回复日期:2003-10-28 20:22:17
<br>内容:各位,谢谢你们能帮我,不过还缺一个group by 语句
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:grayzhou 回复日期:2003-10-28 20:54:46
<br>内容:正确解法:<BR>select 姓名,年龄,max(检查时间),间隔时间<BR>from 表名称 <BR>where DATEdiff (MM,检查时间,getdate())>=间隔时间<BR>group by 姓名,年龄,间隔时间<BR><BR>但改解法是与“天数”无关的,不知道谁能知道与天数有关的解法?谢谢!<BR>2003-10-28 21:21:23
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -