gpt4 book ai didi

php - 使用左连接从其他表获取最低价格

转载 作者:行者123 更新时间:2023-11-29 01:54:59 24 4
gpt4 key购买 nike

我正在使用左连接从两个表中获取数据,tourtour_price,但是我无法从定价表中获取最低价格.

这是我的查询

SELECT t1.id,t1.tour_title,t2.price 
FROM tours t1
LEFT JOIN tour_dates t2 ON t1.id=t2.tour_id
WHERE t1.status = '1' AND ( t2.price between 40 AND 100 )
GROUP BY t2.tour_id
ORDER BY t2.price DESC

我想我需要做一些小改动,但想不出来。

请提供一些帮助。谢谢。

最佳答案

应该是:

SELECT t1.id, t1.tour_title, MIN(t2.price) min_price
FROM tours t1
LEFT JOIN tour_dates t2 ON t1.id = t2.tour_id AND t2.price BETWEEN 40 AND 100
WHERE t1.status = '1'
GROUP BY t1.id
ORDER BY min_price DESC
  • 使用 MIN(t2.price) 获取最低价格。
  • 因为您使用的是 LEFT JOIN,所以第二个表的条件应该放在 ON 子句中。否则,没有任何匹配日期的游览将被过滤掉,因为 t2.price 将为 NULL
  • 不要在 GROUP BY 中使用第二个表中的列,因为如果没有匹配项,它将为 NULL。然后,所有没有日期的游览将作为一个结果组合在一起,这不是您通常想要的。

如果您不希望结果包含没有日期的游览,您应该使用 INNER JOIN 而不是 LEFT JOIN。如果您对差异感到困惑,请参阅

A Graphical Explanation of SQL Joins

关于php - 使用左连接从其他表获取最低价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31680831/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com