在MySQL中同时查找两张表中的数据的示例

 更新时间:2015年07月07日 11:58:54   投稿:goldensun  
这篇文章主要介绍了在MySQL中同时查找两张表中的数据的示例,即一次查询操作返回两张表的结果,需要的朋友可以参考下

这个例子里面我们从两个表中取出头两行,然后合并到一个表中。

  在现实中我们常常会遇到这样的情况,在一个数据库中存在两个表,假设表1储存着公司个产品本季度销售信息,表2储存着公司本季度欠款金额情况。在一个页面中我们想把这两个信息显示出来。通常的做法是在程序中进行两次SQL查询,返回两个结果集,在分别显示出来,非常麻烦。

  下面是实现这个功能的代码:

  

CREATE PROCEDURE test

  AS

   SET NOCOUNT ON --指示存储过程不返回查询影响的行数

   DECLARE @col1c varchar(20),@col2c varchar(20), @index int

   SET @index = 1

   CREATE TABLE #tmptbl --创建一个临时表,用于储存我们的结果

   (

    colID int IDENTITY(1,1) PRIMARY KEY CLUSTERED,

    col1 varchar(20),

   col2 varchar(20)

   )

   DECLARE cur1 CURSOR FOR SELECT TOP 2 customerid FROM orders

   DECLARE cur2 CURSOR FOR SELECT TOP 2 regiondescription FROM region

   OPEN cur1

   OPEN cur2

   FETCH cur2 INTO @col2c

   FETCH cur1 INTO @col1c

   WHILE @@FETCH_STATUS = 0

    BEGIN

    INSERT INTO #tmptbl (col1, col2) VALUES (@col1c, @col2c)

    FETCH NEXT FROM cur1 INTO @col1c

    FETCH NEXT FROM cur2 INTO @col2c

    END

   CLOSE cur1

   CLOSE cur2

   DEALLOCATE cur1

   DEALLOCATE cur2

   SELECT * FROM #tmptbl

   DROP TABLE #tmptbl

  GO

  说明:

  @@FETCH_STATUS,返回被fetch语句执行的最后游标状态。

  返回值:0-FETCH语句执行成功

      1-FETCH语句失败,或此行不再结果集中。

      2-被提取的行不存在。

相关文章

  • 详解MySQL(InnoDB)是如何处理死锁的

    详解MySQL(InnoDB)是如何处理死锁的

    这篇文章主要介绍了MySQL(InnoDB)是如何处理死锁的,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • mysql:ERROR 2003 (HY000)故障错误解决方法与思路

    mysql:ERROR 2003 (HY000)故障错误解决方法与思路

    这篇文章主要给大家介绍了关于mysql:ERROR 2003 (HY000)故障错误解决方法与思路的相关资料,error 2003 hy000是MySQL数据库中一个常见的错误代码,它通常意味着MySQL无法建立到数据库的连接,需要的朋友可以参考下
    2024-02-02
  • Mysql InnoDB的锁定机制实例详解

    Mysql InnoDB的锁定机制实例详解

    这篇文章主要给大家介绍了关于Mysql InnoDB的锁定机制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • mysql函数IFNULL使用的及注意事项说明

    mysql函数IFNULL使用的及注意事项说明

    这篇文章主要介绍了mysql函数IFNULL使用的及注意事项说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-11-11
  • 解决MySQL数据库中文模糊检索问题的方法

    解决MySQL数据库中文模糊检索问题的方法

    解决MySQL数据库中文模糊检索问题的方法...
    2007-11-11
  • SQL使用聚集函数实现对数据汇总

    SQL使用聚集函数实现对数据汇总

    这篇文章主要介绍了SQL使用聚集函数实现对数据汇总,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-09-09
  • MYSQL分页limit速度太慢的优化方法

    MYSQL分页limit速度太慢的优化方法

    这篇文章主要介绍了MYSQL分页limit速度太慢的优化方法,需要的朋友可以参考下
    2016-05-05
  • MySQL事务的隔离级别详情

    MySQL事务的隔离级别详情

    这篇文章主要介绍了MySQL事务的隔离级别详情,事务隔离级别越高,为避免冲突所花费的性能也就越多,即效率低。在“可重复读”级别,实际上可以解决部分的虚读问题,但是不能防止update更新产生的虚读问题,要禁止虚读产生,还是需要设置串行化隔离级别
    2022-07-07
  • mysql 5.6.23 winx64.zip安装详细教程

    mysql 5.6.23 winx64.zip安装详细教程

    这篇文章主要介绍了mysql 5.6.23 winx64.zip安装详细教程,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-02-02
  • mysql使用source 命令乱码问题解决方法

    mysql使用source 命令乱码问题解决方法

    从windows上导出一个sql执行文件,再倒入到unbutn中,结果出现乱码,折腾7-8分钟,解决方式在导出mysql sql执行文件的时候,指定一下编码格式
    2013-04-04

最新评论