|
主题:[已解决][SQL文章列表]显示某栏目最新头条,列表怎么才能排除最新的头条 [收藏主题] | 转到: |
本栏目有一条最新的头条文章(注意是最新的才显示) 然后列表区怎么才能排除那条最新的文章? 用SQL语句怎么写?
我这样写,结果还是会把最新的头条显示出来: select top {$Param(1)} ID,Tid,Title,Adddate from KS_Article where Tid in(select ID from KS_Class where TS like '%{$Param(0)}%') and DelTF=0 and Verific=1 and ID not in (select top 1 ID from KS_Article where Strip=1 order by {$Param(2)} desc) order by IsTop desc, {$Param(2)} desc 说明:{$Param(0)} 为栏目ID 含子栏目 {$Param(1)} 为调用的文章条数 {$Param(2)} 为排序方式
问题终于被我解决了。 原来的SQL语句是: select top {$Param(1)} ID,Tid,Title,Adddate from KS_Article where Tid in(select ID from KS_Class where TS like '%{$Param(0)}%') and DelTF=0 and Verific=1 and ID not in (select top 1 ID from KS_Article where Strip=1 order by {$Param(2)} desc) order by IsTop desc, {$Param(2)} desc
其实这样如果文章系统只有一个栏目,倒也没有什么问题,但如果有多个栏目的话,查询的结果就不那么准确了。
所以语句改良如下(红色部分): select top {$Param(1)} ID,Tid,Title,Adddate from KS_Article where Tid in(select ID from KS_Class where TS like '%{$Param(0)}%') and DelTF=0 and Verific=1 and ID not in (select top 1 ID from KS_Article where Tid in(select ID from KS_Class where TS like '%{$Param(0)}%') and DelTF=0 and Verific=1 and Strip=1 order by {$Param(2)} desc) order by IsTop desc, {$Param(2)} desc |
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
谢谢无风的回复。可能你没有看清我的问题,你这样可以实现头条与非头条的文章列表,但你的SQL语句在实际应用中有漏洞,那就是除了最新的头条,其它的旧头条没法显示了(在列表区漏掉了)。当然,你的方法也有用,就是整个栏目只能有一条头条,设置了最新的,就必须把其它的头条属性去掉。
我的问题是:第1条显示某栏目最新头条,列表区(2-8条)怎么才能排除最新的头条(列表区可能包含旧的头条)
例如:(注意列表区的第7条) 1、这是栏目最新的头条 2、这是列表区的文章 3、这也是列表区的文章 4、这条还是列表区的文章 5、这条也是列表区的文章 6、这条同样是列表区的文章 7、这条是旧头条文章,但已经不是最新头条了,就放到列表区了 8、这条还是列表区的文章
|
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |