mysql分组查询结果集作为条件查询的问题
2017-02-14 16:37
666 查看
问题:查询对规格商品的价格最小的记录?
表结构:表商品表store_prd,商品价格表:store_prd_price,商品表与价格表示一对多关系
注意:分组查询的结果集作为多条件的关系
sql实现:
SELECT
prd.`door_id` doorId,
prd.`name` prdName,
prd.`id` prdId,
prd.`prd_type` prdType,
prd.`prd_expire_date` prdExpireDate,
p1.`discount_price` discountPrice,
p1.`price` costPrice,
p1.`discount` isDiscount,
prdPrice.`saleStock` saleCount,
prd.`discount_type` discountType
FROM
`store_prd_price` p1,
`store_prd` prd,
(SELECT
prd.`id` prdId,
MIN(price.`discount_price`) AS discountPrice
FROM
`store_prd_price` price,
`store_prd` prd
WHERE prd.`id` = price.`prd_id`
AND prd.`is_delete` = 0
AND price.`is_delete` = 0
GROUP BY prdId) t3,
(SELECT
SUM(priceN.`sale_stock`) saleStock,
prdN.`id`
FROM
`store_prd` prdN,
`store_prd_price` priceN
WHERE prdN.`id` = priceN.`prd_id`
GROUP BY prdN.`id`) prdPrice
WHERE prd.`id` = p1.`prd_id`
and t3.prdId = p1.`prd_id`
AND p1.`discount_price` = t3.discountPrice
GROUP BY prdId
order by prd.`create_time` desc
表结构:表商品表store_prd,商品价格表:store_prd_price,商品表与价格表示一对多关系
注意:分组查询的结果集作为多条件的关系
sql实现:
SELECT
prd.`door_id` doorId,
prd.`name` prdName,
prd.`id` prdId,
prd.`prd_type` prdType,
prd.`prd_expire_date` prdExpireDate,
p1.`discount_price` discountPrice,
p1.`price` costPrice,
p1.`discount` isDiscount,
prdPrice.`saleStock` saleCount,
prd.`discount_type` discountType
FROM
`store_prd_price` p1,
`store_prd` prd,
(SELECT
prd.`id` prdId,
MIN(price.`discount_price`) AS discountPrice
FROM
`store_prd_price` price,
`store_prd` prd
WHERE prd.`id` = price.`prd_id`
AND prd.`is_delete` = 0
AND price.`is_delete` = 0
GROUP BY prdId) t3,
(SELECT
SUM(priceN.`sale_stock`) saleStock,
prdN.`id`
FROM
`store_prd` prdN,
`store_prd_price` priceN
WHERE prdN.`id` = priceN.`prd_id`
GROUP BY prdN.`id`) prdPrice
WHERE prd.`id` = p1.`prd_id`
and t3.prdId = p1.`prd_id`
AND p1.`discount_price` = t3.discountPrice
GROUP BY prdId
order by prd.`create_time` desc
相关文章推荐
- Mysql查询条件不区分问题解决方案
- MySQL中关于查询条件中的字符串空格问题
- mysql 查询时间条件问题
- hibernate 通过Restrictions设置中文查询条件,不执行无结果集的问题
- 如何解决PHP使用mysql_query查询超大结果集超内存问题
- 关于MYSQL查询时WHERE条件值为数字的问题
- mysql 查询条件不区分大小写问题
- mysql count(),sum()等作为条件查询
- MySQL中关于查询条件中的字符串空格问题
- MySQL中不允许使用列别名作为查询条件
- 关于MYSQL查询时WHERE条件值为数字的问题
- mysql条件索引查询的结果集的测试
- MySql数据查询的逻辑蕴含条件问题
- mysql 查询条件中文问题
- mysql中分组查询的问题
- MySql使用全记录3 -----以中文作为查询条件时结果为空的原因以及两个MySql小知识点(varchar、单双引号)
- aspnet访问oracle 查询条件带汉字结果集为空的问题
- MySQL查询条件中字符串包含空格的问题
- MySQL 中文显示乱码以及中文查询条件返回0条结果的问题解决
- 如何解决PHP使用mysql_query查询超大结果集超内存问题