在MySQL中同时查找两张表中的数据的示例
- 更新时间:2023-01-04 12:03:37
- 编辑:璩龙梅
这个例子里面我们从两个表中取出头两行,然后合并到一个表中。
在现实中我们常常会遇到这样的情况,在一个数据库中存在两个表,假设表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-被提取的行不存在。
相关教程
-
debian6配置mysql允许远程连接的步骤分析
这篇文章主要介绍了debian6配置mysql允许远程连接的方法,大家可以参考,最后可看图
发布时间:2020-01-17
-
MYSQL因没卸载完全导致安装不成功的心得笔记
安装MYSQL不成功,一般是因为服务器可能安装过MYSQL而没有完全卸载。
发布时间:2019-12-30
-
mysql 如何获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间
这篇文章主要介绍了mysql 获取昨天日期、今天日期、明天日期以及前一个小时和后一个小时的时间,需要的朋友可以参考下
发布时间:2020-01-27
-
django框架使用mysql的教程介绍(代码示例)
给大家整理了关于django的教程,本篇文章给大家带来的内容是关于django框架使用mysql的教程介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。
发布时间:2022-10-18
-
Linux下rpm方式安装mysql教程
给网友们整理关于Linux的教程,这篇文章主要为大家详细介绍了Linux下rpm方式安装mysql教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
发布时间:2022-11-03
-
mysql常用函数详细总结
以下是对mysql中的常用函数进行了汇总介绍。需要的朋友可以过来参考下
发布时间:2020-01-17
-
怎样解决Mysql5.7中group concat函数数据被截断的问题
前几天在项目中遇到一个问题,使用 GROUP_CONCAT 函数select出来的数据被截断了,最长长度不超过1024字节,开始还以为是navicat客户端自身对字段长度做了限制的问题。后来查找出原因,解决方法
发布时间:2020-02-27
-
实例总结mysql修改表结构方法
这篇文章主要介绍了mysql修改表结构方法,以实例形式较为详细的分析了mysql修改表结构的具体方法与相关注意事项,具有一定参考借鉴价值,需要的朋友可以参考下
发布时间:2020-03-10
-
实例分析MySQL排序原理
这篇文章主要介绍了浅谈MySQL排序原理与案例分析的相关资料,需要的朋友可以参考下
发布时间:2020-03-14