-2

mysql 表有列 order-id、order-item-id。需要为生成列创建表达式(5.7 的新功能)请查看图像 v 虚拟生成列查看图像以便于理解。表名是每日订单

在此处输入图像描述

4

1 回答 1

0

由于对生成列的限制,您不能创建包含子查询的表达式:

不允许使用子查询、参数、变量、存储函数和用户定义函数。

由于您想获取有关多条记录中数据的信息,因此您必须使用子查询,这是不允许的。但是,您可以创建一个视图而不是包含这些附加数据的生成列。以下 sql 语句可以构成这种视图的核心:

select d1.*, d2.NumberOfItems
from dailyorders d1
inner join (select orderid, count(*) as NumberOfItems from dailyorders group by orderid) d2
on d1.orderid=d2.orderid
于 2015-12-14T11:57:47.333 回答