我有两张table: products
以及
prices products
id(主键)
名称 prices
id(主键)
产品id(fk>产品)
价格
原始价格
每种产品可能有多种价格。我想要实现的是返回我的查询 all products on-sale with its cheapest price
. on-sale
=价格<原价
如果产品不是 on-sale
,不应包含在结果中
如果一个产品有多个价格符合 on-sale
,只返回最便宜的价格。
结果表应该有以下列
产品id
产品名称
价格.id
价格
价格.原始价格
通过我的尝试,我最终得到了这个问题: #1055 - Expression #3 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'tbl.price' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by
. 请注意,我无法更改配置。
mysql版本:5.7.22
我上传了一个sql导出的示例数据here:https://www.dropbox.com/s/6ucdv6592dum6n6/stackoverflow_export.sql?dl=0
4条答案
按热度按时间yjghlzjz1#
希望这对你有用
或
hmae6n7t2#
试试这个:
cnwbcb6i3#
这适用于您提供的dropbox链接:http://sqlfiddle.com/#!9/a6306d/3号
e5nszbig4#
这是一个没有任何数据的镜头:p可能需要稍微调整一下