查询新闻表中终极父栏目下的二级小栏目的带条件的第一篇新闻

两个表

1、新闻栏目表db_Column


Id

ParId
ColumnName


1


0

终极父栏目1

2


0


终极父栏目2

3
1


二级栏目1


4


1


二级栏目2


5


2


二级栏目3

2、新闻表db_News


Id


ColumnId

IsCheck
.......


.......


1


3


1


2

3
1


3


4


0


4


4


1


5


4

1

6


5


1

参数为终极父栏目的Id,查询出新闻表中该终极父栏目下的,每个二级子栏目下的,第一篇IsCheck=1的新闻,要求查出新闻所有字段和对应栏目名称

SELECT   n.*, c.ColumnName

FROM    (db_News n INNER JOIN db_Column c ON n.ColumnId = c.Id)

WHERE   (n.Id IN

(SELECT   MIN(Id)  FROM

(SELECT   Id, ColumnId   FROM   db_News  WHERE   (IsCheck= 1) ) GROUP BY ColumnId))

AND

(n.ColumnId IN (SELECT   Id  FROM    db_Column WHERE   (ParId =参数)))

时间: 2024-08-10 01:58:48

查询新闻表中终极父栏目下的二级小栏目的带条件的第一篇新闻的相关文章

MySQL查询数据表中数据记录(包括多表查询)

MySQL查询数据表中数据记录(包括多表查询) MySQL查询数据表中数据记录(包括多表查询) 转自:http://www.baike369.com/content/?id=5355 在MySQL中创建数据库的目的是为了使用其中的数据. 使用select查询语句可以从数据库中把数据查询出来. select语句的语法格式如下: select selection_list // 要查询的内容,选择哪些列 from table_list // 从什么表中查询,从何处选择行 where primary_

在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题

原文:在 SQL Server 中查询EXCEL 表中的数据遇到的各种问题 SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source="D:\KK.xls";User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$] 问题: 消息 15281,级别 16,状态 1,第 1 行 SQL Server 阻止了对组件 'Ad Hoc Di

mysql5.7基础 查询指定表中的所有数据

镇场文:       学儒家经世致用,行佛家普度众生,修道家全生保真,悟易理象数通变.以科技光耀善法,成就一良心博客.______________________________________________________________________________________________________ Operating System:UbuntuKylin 16.04 LTS 64bitmysql: Ver 14.14 Distrib 5.7.17, for Linux (

SqlSever基础 SUM 查询一个表中的一列的数值总和

镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1 table 2 code 1 --创建一个数据库 2 create database helloworld1 3 4 use master 5 drop database helloworld1 6 7 --用helloworld1这个数据库 8 use helloworld1 9 10 --

5:查询两表中的所有字段,满足性别为‘男’的记录(使用语句块)

5:查询两表中的所有字段,满足性别为'男'的记录 1.先创建表t_code_sex 2.创建表t_employee 3.编辑数据 4.执行pl/sql语句块 ---pl/sql语句块查询满足性别为男的 declare type t_employee_record_type is record( v_empid t_employee.emp_id%type, v_emp_name t_employee.emp_name%type, v_sex_name t_code_sex.name%type);

Oracle中查询一个表中字段(列)个数

如果一个表中有很多的字段,而我们想要知道这个表中的字段个数,如果使用如下方式一个一个数,则显得很麻烦 Oracle中可以使用如下sql来查询字段(列)个数 select count(*) from user_tab_columns where table_name=upper('表名') 或者 select max(column_id) from user_tab_columns where table_name=upper('表名') 作者:itmyhome 链接:http://blog.cs

SQL查询一个表中类别字段中Max()最大值对应的记录

问题是: 数据库有一个表 code,里面有个点击量字段click_num和一个类别字段kind以及其它信息字段, 现在要搜出每个类别中点击量最大的那条记录,如果是10个类别,那么结果应该是10条记录, 如果最大点击量有两个相同的只要一条. 经过N次搜索,N次检测网上的解决SQL语句,终于找到个优雅的而且结果正确的SQL,这个是一个博客作者在Mysql的官方文档里面发现的. 禁不住收藏了,以备后用. select id,kind,click_num from code as a where  cl

查询数据表中的记录

除非最终检索它们并利用它们来做点事情,否则将记录放入数据库没什么好处.这就是 SELECT 语句的用途,即帮助取出数据.SELECT 大概是 SQL 语言中最常用的语句,而且怎样使用它也最为讲究:用它来选择记录可能相当复杂,可能会涉及许多表中列之间的比较. SELECT语法: SELECT selection_list      选择哪些列 FROM table_list                从何处选择行 WHERE primary_constraint          行必须满足什

如何查询一个表中除某几个字段外其他所有的字段

话说楼主刚开始也不知道怎么查,然后就开始百度了 大部分网友都是建议一个一个写 当然程序员是最懒的啦,一个一个写多痛苦啊 接着找 还别说csdn里还有不少大牛的 于是出现了这个脚本 declare @s nvarchar(1000)select @s=isnull(@s+',','')+quotename(Name) from syscolumns where ID=object_id('表名') and Name not in('排除字段') order by colid exec('selec