数据库sql联合查询mid类型的分页数据取不了全部的值错误

USE [Travel]
GO
/****** Object:  StoredProcedure [dbo].[NoticeGetPagedData]    Script Date: 06/13/2014 20:44:51 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[NoticeGetPagedData]
@pageIndex int = 1,--页码
@pageSize int =10,--页容量
@sMid int,
@rowCount float output,--输出 总行数
@pageCount float output--输出 总页数
AS
BEGIN
select @rowCount = COUNT(nId) from Notice where [email protected] --求总行数
    set @pageCount= CEILING(@rowCount / @pageSize)--使用 天花板 函数,将 带小数的数值,加1 去小数
     select * from(select row_number() over(order by nId) as rownum ,mn.*,n.ntName  from(Notice as mn inner join NoticeType as n on mn.nMid=n.ntId and  [email protected]))
      as temp where temp.rownum >(@pageIndex-1)*@pageSize and temp.rownum <[email protected]*@pageSize
END

(Notice as mn inner join NoticeType as n on mn.nMid=n.ntId and  [email protected]  应该再后面加上[email protected]再其他地方加入的话是错误的

数据库sql联合查询mid类型的分页数据取不了全部的值错误

时间: 2024-10-09 02:16:16

数据库sql联合查询mid类型的分页数据取不了全部的值错误的相关文章

数据库SQL语句查询指定时间段内的数据

[摘要]有的时候,我们需要查询数据库某段时间之间的数据,比如2016年5月1号到到5月3号之间用户注册数量(特殊节假日期间)等.那么用SQL语句如何实现呢? 首先,数据表中的存时间的字段比如是addtime可能是时间戳(varchar),也可能是用timestamp类型表示,如果是时间戳格式当然好办,如果是timestamp格式:YYYY-MM-DD HH:II:SS这个格式,如2016-05-01 00:00:00这种格式的SQL语句怎么表示?有下面两张方式: (1)第一种方法,使用关键字be

SQL 联合查询 + XML解析

(select a.EBILLNO, a.EMPNAME, a.APPLYDATE, b.HS_NAME, replace(replace(a.SUMMARY,char(10), ''),char(13),'') as SUMMARY, cast(c.XmlData as XML).value('(/List/item/No/text())[1]','NVARCHAR(300)') as No, cast(c.XmlData as XML).value('(/List/item/zje/text

SQL联合查询(内联、左联、右联、全联)语法

SQL联合查询(内联.左联.右联.全联)语法 概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join  .全联full outer join 的好处及用法. 联合查询效率较高,以下例子来说明联合查询(内联.左联.右联.全联)的好处: T1表结构            (用户名,密码) userid(int) username            varchar(20) password       

SQL联合查询:子表任一记录与主表联合查询

今天有网友群里提了这样一个关于SQL联合查询的需求: 一.有热心网友的方案: 二.我的方案: select * from ( select a.*,(select top 1 Id from B as b where b.CgId =a.ID)as bid from A as a ) as temp left join B as b2 on temp.bid=b2.Id

SQL如何查询两个表的数据

在进行查询操作时,我们通常需要查询两个关联表的数据,我们可以使用where语句进行查询,如: select Emp.E_Id,Company.C_OraName from Emp,Company where Companey.C_Id=Emp.C_Id 但是我们往往会碰到比较复杂的语句,这时候使用where就不太合适了,其实SQL可以用较为直接的形式进行连接操作,可以在From子句中以直接的形式指出: select top 10 E_Id,E_Name,C_Name from Emp join

sql server 查询本年的每个月的数据

原文:sql server 查询本年的每个月的数据 一.以一行数据的形式,显示本年的12月的数据,本示例以2017年为例,根据CreateDate字段判断,计算总和,查询语句如下: select sum(case when datepart(month,CreateDate)=1 then 1 else 0 end) as '1月', sum(case when datepart(month,CreateDate)=2 then 1 else 0 end) as '2月', sum(case w

数据库之联合查询和连接查询

http://blog.csdn.net/memgxingfeixiang/article/details/52765208 1.JOIN和UNION区别join 是两张表做交连后里面条件相同的部分记录产生一个记录集,union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集. JOIN用于按照ON条件联接两个表,主要有四种:INNER JOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行.我理解的是只要记录不符合ON条件,就不会显示在结果集

数据库SQL SELECT查询的工作原理

作为B/S架构的开发人员,总是离不开数据库.一般开发员只会应用SQL的四条经典语句:select,insert,delete,update.但是我从来没有研究过它们的工作原理,这篇我想说一说select在数据库中的工作原理. B/S架构中最经典的话题无非于三层架构,可以大概分为数据层,业务逻辑层和表示层,而数据层的作用一般都是和数据库交互,例如查询记录.我们经常是写好查询SQL,然后调用程序执行SQL.但是它内部的工作流程是怎样的呢?先做哪一步,然后做哪一步等,我想还有大部分朋友和我一样都不一定

解决 mysql多表联合查询时出现的分页问题

mysql一对多分页问题 部门表:tbl_dept 员工表:tbl_emp 数据库sql文件 CREATE DATABASE /*!32312 IF NOT EXISTS*/`ssm-crud` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `ssm-crud`; /*Table structure for table `tbl_dept` */ DROP TABLE IF EXISTS `tbl_dept`; CREATE TABLE `tbl_dep