HF_i 2021-10-25 21:17 采纳率: 100%
浏览 206
已结题

怎么才能实现该存储过程的正确建立和查询呢?

问题

在数据库中创建一个名为proc_3的存储过程,要求实现如下功能,根据会员昵称查询会员的订购信息,如果该会员没有订购任何图书,则输出“某某会员没有订购图书”的信息,否则输出订购图书的相关信息,调用存储过程显示会员“四十不惑”订购图书的情况。

这是所用数据表

img

这是我建立的存储数据的表

```sql
mysql> create table u_b_o
-> (uid int,
-> uname varchar(5),
-> email varchar(20),
-> tnum varchar(20),
-> score int,
-> bid int,
-> uid_ int,
-> ordernum int,
-> orderdate datetime,
-> deliverydate datetime);
Query OK, 0 rows affected (0.03 sec)

mysql> insert into u_b_o
-> select * from user as u left join b_order as b1 on u.uid=b1.uid;
Query OK, 9 rows affected (0.00 sec)
Records: 9 Duplicates: 0 Warnings:

```0

img

这是我的建立存储过程的代码

mysql> delimiter //
mysql> create procedure proc_3(in name varchar(5))
-> begin
-> select b_order.bid,b_order.uid,ordernum,orderdate,deliverydate from book as b2 left join u_b_o as u2 on b2.bid=u2.bid where uname=name;
-> if ordernum is null then select '该会员没有订购该图书';
-> else select * from book;
-> end if;
-> end;//
Query OK, 0 rows affected (0.01 sec)

调用后产生的错误

mysql> call proc_3('四十不惑');//
ERROR 1054 (42S22): Unknown column 'b_order.bid' in 'field list'

希望能够解决我的问题,谢谢!

  • 写回答

2条回答 默认 最新

  • CSDN专家-sinJack 2021-10-25 21:31
    关注

    select b_order.bid,b_order.uid,ordernum,orderdate,deliverydate from book as b2 left join u_b_o as u2 on b2.bid=u2.bid where uname=name;
    b_order在from中没有看到。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 8月28日
  • 已采纳回答 8月20日
  • 创建了问题 10月25日

悬赏问题

  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛