BEGIN
DECLARE stopIDX int DEFAULT 0;
DECLARE returnVal varchar(222) DEFAULT '' ;
DECLARE mycursor CURSOR FOR
SELECT line.Line_ID FROM line;-- line表有6条记录
DECLARE CONTINUE HANDLER FOR NOT found SET stopIDX = 1;
OPEN mycursor;
REPEAT
FETCH mycursor INTO returnVal;
if stopIDX=0 then
SELECT * from BanCi where Line_ID = returnVal;--产生6个结果集。
end if;
UNTIL stopIDX
END REPEAT;
CLOSE mycursor;
END
描述:mysql 中有以上存储过程, 将line 表(只有6条记录) 的id 赋给游标,遍历游标,搜索班次表(banci) 出现6个结果集(各一条记录)。我想知道能不能 使用类似union 这样的谓词达到 一个结果集(6条记录)。如果有。怎么请贴个实现代码。O(∩_∩)O谢谢
解决方案 »
- ERROR 1045 (28000): Access denied for user 'ODBC'@'localhost' (using password: N
- Lost connection to MySQL server at 'reading initial communication packet', syste
- 用VC++ 操作mysql 的UTF8,真败了
- mysql主从数据库问题Slave_IO_Running: No
- mysql的一个判断查询。高手来帮帮忙吧!
- MySQL的MySQL Administrator是如何实现备份、恢复的?
- mysql 2个时间相差的毫秒数的问题
- 超高难度sql查询语句,挑战你,Mysql+Jsp 请帮忙解决这个查询语句问题啊!
- 请问怎么样些查询语句方便一点.
- 按分数排名,出现相同分数时,名次并列,sql语句怎么写
- mysqldump导出乱码!
- 数据库写太频繁是否会造成意外错误?
或者如楼上的方案,使用 where Line_ID in (select Line_ID from FROM line)
生成1个物理表 OR 打开此游标