数据库中的存储过程问题

用户名

我使用此存储过程来显示文档处于待处理状态

create procedure b
as
  select         
     dbo.DocumentInfo.DocID, dbo.DocumentInfo.DocName, 
     dbo.DocumentInfo.Uploadfile, dbo.DocType.Doc      Type,
     dbo.Department.DepType, ApproveType.ApproveType
 from 
     dbo.DocumentInfo 
 left join 
     dbo.DocType on dbo.DocumentInfo.DocTypeID = dbo.DocType.DocTypeID 
 left join 
     dbo.Department on dbo.DocumentInfo.DepID = dbo.Department.DepID 
 inner join      
     ApproveType on DocumentInfo.ApproveID = ApproveType.ApproveID 
                 and (ApproveType.ApproveID = 3)

但是当我检查此查询时,它无法显示任何文档..

问题出在哪儿?

莱因哈特

您的问题是您要在联接要排除数据的表上进行直接联接(INNER JOIN)。因此,无论该列ApproveID在表中DocumentInfo不包含任何数据,或者有在表中没有匹配的行ApproveTypeApproveID

在我看来,如果您将以这种方式使用此存储过程,则无论如何您都将错误地使用联接-而且您肯定可以考虑使用表别名,如下所示:

CREATE PROCEDURE b
AS
    SELECT  di.DocID, 
            di.DocName, 
            di.Uploadfile, 
            dt.DocType,
            d.DepType, 
            at.ApproveType
    FROM    DocumentInfo di
        LEFT OUTER JOIN
            DocType dt ON dt.DocTypeID = di.DocTypeID
        LEFT OUTER JOIN 
            Department d ON d.DepID = di.DepID
        LEFT OUTER JOIN
            ApproveType at ON at.ApproveID = di.ApproveID 
   AND  at.ApproveID = 3

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

解析数据库中的存储过程

来自分类Dev

删除数据库中的存储过程

来自分类Dev

Oracle数据库中的存储过程(11g)

来自分类Dev

使用EF(数据库优先)在mvc中的存储过程

来自分类Dev

首先在实体框架数据库中调用存储过程 - 结果类中的列生成问题

来自分类Dev

在PHP中将数据存储到数据库中的问题

来自分类Dev

存储过程未更新数据库

来自分类Dev

从另一个数据库中选择存储过程的权限问题

来自分类Dev

SQL Server中的所有存储过程都存储在哪个数据库中?

来自分类Dev

从存储过程中调用存储在单独的数据库服务器中的sql函数

来自分类Dev

使用delphi中的存储过程将图像存储在数据库中

来自分类Dev

在存储过程中从另一个数据库访问数据

来自分类Dev

使用存储过程从数据库中提取数据时,如何从DateTime中删除时间

来自分类Dev

从当前数据库中的另一个数据库运行存储过程

来自分类Dev

从当前数据库中的另一个数据库运行存储过程

来自分类Dev

使用存储过程从数据库获取数据

来自分类Dev

从Laravel中的现有数据库为存储过程,函数和事件创建迁移

来自分类Dev

在DB2数据库中创建存储过程时出错

来自分类Dev

为什么我的存储过程没有显示在SQL Server数据库中?

来自分类Dev

如何在跨多个数据库的存储过程中查找文本

来自分类Dev

如何在一个数据库中删除多个存储过程

来自分类Dev

在MySQL数据库中运行事件调度程序期间未调用存储过程

来自分类Dev

更改数据库中的所有存储过程(添加注释标题模板)

来自分类Dev

存储过程是否占用了数据库中的某些物理空间?

来自分类Dev

使用存储过程在sybase数据库表中插入记录-Delphi编程

来自分类Dev

MVC 5,EF 6和“数据库中的代码优先”存储过程

来自分类Dev

使用SqLite将存储过程添加到内存数据库中

来自分类Dev

如何使用存储过程在mssql数据库中获取新记录

来自分类Dev

从Excel在Azure SQL数据库中运行存储过程并下载结果

Related 相关文章

  1. 1

    解析数据库中的存储过程

  2. 2

    删除数据库中的存储过程

  3. 3

    Oracle数据库中的存储过程(11g)

  4. 4

    使用EF(数据库优先)在mvc中的存储过程

  5. 5

    首先在实体框架数据库中调用存储过程 - 结果类中的列生成问题

  6. 6

    在PHP中将数据存储到数据库中的问题

  7. 7

    存储过程未更新数据库

  8. 8

    从另一个数据库中选择存储过程的权限问题

  9. 9

    SQL Server中的所有存储过程都存储在哪个数据库中?

  10. 10

    从存储过程中调用存储在单独的数据库服务器中的sql函数

  11. 11

    使用delphi中的存储过程将图像存储在数据库中

  12. 12

    在存储过程中从另一个数据库访问数据

  13. 13

    使用存储过程从数据库中提取数据时,如何从DateTime中删除时间

  14. 14

    从当前数据库中的另一个数据库运行存储过程

  15. 15

    从当前数据库中的另一个数据库运行存储过程

  16. 16

    使用存储过程从数据库获取数据

  17. 17

    从Laravel中的现有数据库为存储过程,函数和事件创建迁移

  18. 18

    在DB2数据库中创建存储过程时出错

  19. 19

    为什么我的存储过程没有显示在SQL Server数据库中?

  20. 20

    如何在跨多个数据库的存储过程中查找文本

  21. 21

    如何在一个数据库中删除多个存储过程

  22. 22

    在MySQL数据库中运行事件调度程序期间未调用存储过程

  23. 23

    更改数据库中的所有存储过程(添加注释标题模板)

  24. 24

    存储过程是否占用了数据库中的某些物理空间?

  25. 25

    使用存储过程在sybase数据库表中插入记录-Delphi编程

  26. 26

    MVC 5,EF 6和“数据库中的代码优先”存储过程

  27. 27

    使用SqLite将存储过程添加到内存数据库中

  28. 28

    如何使用存储过程在mssql数据库中获取新记录

  29. 29

    从Excel在Azure SQL数据库中运行存储过程并下载结果

热门标签

归档