老师,这个问题要怎么解决?
老师,下面两个表中,要求顾客名字和艺术品被卖了至少两次,这个怎么写代码?谢谢
CREATE TABLE pur(
pId int unsigned auto_increment key,
cusId int unsigned,
artTitle varchar(50) not null,
pDate date not null,
pPrice float(8,2) not null
);
CREATE TABLE cus(
cusId int unsigned auto_increment key,
cusName varchar(20) not null unique,
gender enum('Male','Female') not null,
mobile varchar(20) not null,
DOB date not null,
addr varchar(80) not null,
creditLimit float(8,2) not null
);
正在回答
同学你好,这个是由于sql_mode中使用ONLY_FULL_GROUP_BY模式造成的,建议同学执行如下两句代码:
set global sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION'; set session sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION';
再执行sql语句试试。
祝:学习愉快~
同学你好,不是很明白同学的意思。顾客名字和艺术品被卖了至少两次,是指向数据库中插入数据还是查询数据。
如果是插入数据,同学插入某个顾客的信息以及插入多次艺术品的购买记录即可。
如果是查询被卖了至少两次的艺术品以及顾客名字,可以将两表连接,通过艺术品分组,统计被卖了至少2次的艺术品以及顾客信息,参考如下语句:
SELECT cus.cusName,pur.artTitle FROM pur join cus on pur.cusId = cus.cusId GROUP BY pur.artTitle HAVING COUNT(pur.artTitle)>=2;
祝:学习愉快~
相似问题
登录后可查看更多问答,登录/注册
- 参与学习 人
- 提交作业 357 份
- 解答问题 8016 个
本阶段将带你学习MySQL数据库,JDBC接口,MyBatis框架等,带你掌握的数据的存放和管理。
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星