我有两个MySQL表:
如何选择sale
='1'的所有产品,按update_time
排序,每个产品的最低价格(在tbl_child_product表中的child_price
中存储)只有一个查询?
谢谢!
答案 0 :(得分:1)
您可以将两个表的内部联接用作:
Select p.product_id, p.product_name, min(c.child_price), p.update_time
from tbl_product p inner join tbl_child_product c
on p.product_id = c.product_id
group by p.product_id
having sale='1'
order by p.update_time
根据问题更新了答案:使用having sale='1'
过滤group by
的结果
答案 1 :(得分:1)
您可以在join
和tbl_product
上的汇总查询之间tbl_child_product
:
SELECT p.product_id, p.product_name, c.lowest_price
FROM tbl_product p
JOIN (SELECT product_id, MIN(child_price) lowest_price
FROM tbl_child_product
GROUP BY product_id) c ON p.product_id = c.product_id
ORDER BY p.update_time
答案 2 :(得分:0)
可能是UNION子句会帮助你。
(SELECT * from tbl_product where product_id
='NULL')
联盟
(SELECT * from tbl_child_product其中child_id
='NUll')
等所有值。