Mysql 查询未正确连接,如何修复?
我有一个结构如下的大型查询: 有很多表,主表LT_CHC_TOURS_RSV_CS有一个t_dt列 有一个具有季节价值的LTR_CHC_TOURS_RSV_价格 还有一个季节,它有一个与LTR\U CHC\U TOURS\U RSV\U价格相对应的季节值。它还有一个开始和结束字段 我想在我的查询中说的是,连接必须是p。季节字段必须对应于a.t_dt日期,介于tru季节开始和结束之间,我不知道如何做到这一点 我不确定我的解释是否正确 桌子 特鲁季节Mysql 查询未正确连接,如何修复?,mysql,join,left-join,Mysql,Join,Left Join,我有一个结构如下的大型查询: 有很多表,主表LT_CHC_TOURS_RSV_CS有一个t_dt列 有一个具有季节价值的LTR_CHC_TOURS_RSV_价格 还有一个季节,它有一个与LTR\U CHC\U TOURS\U RSV\U价格相对应的季节值。它还有一个开始和结束字段 我想在我的查询中说的是,连接必须是p。季节字段必须对应于a.t_dt日期,介于tru季节开始和结束之间,我不知道如何做到这一点 我不确定我的解释是否正确 桌子 特鲁季节 season desc start_dt
season desc start_dt end_dt
1 s1 1/1/2013 12/31/2013
2 s2 1/1/2014 12/31/2014
3 s3 1/1/2015 12/31/2015
LTR_CHC_TOURS_RSV_价格
season price1 price2 price3
1 4 5 7
1 2 6 8
1 7 5 9
这是中国之旅
t_dt count
2/5/2013 6
2/7/2014 2
8/2/2015 3
当季的价格匹配时,计数将乘以定价
我的问题没有完成
select * -- a bunch of stuff
FROM LT_CHC_TOURS_RSV_CS a
LEFT OUTER JOIN lv_customer_info1 b on a.grp_attending = b.customer_no
LEFT OUTER JOIN lv_chc_order_detail_info o on a.order_no = o.order_no
LEFT OUTER JOIN LTR_CHC_TOURS_RSV_PRICE p on /*this is where i'm stuck*/
如果没有用于测试的数据库,我认为您正在寻找类似于以下内容的东西。我并不完全是一个SQL专家,但我认为类似的方法会奏效
select * -- a bunch of stuff
FROM LT_CHC_TOURS_RSV_CS a
LEFT OUTER JOIN lv_customer_info1 b on a.grp_attending = b.customer_no
LEFT OUTER JOIN lv_chc_order_detail_info o on a.order_no = o.order_no
LEFT OUTER JOIN LTR_CHC_TOURS_RSV_PRICE p on p.season = (
SELECT season
FROM tr_season s
INNER JOIN LTR_CHC_TOURS_RSV_PRICE pr
ON pr.season = s.season
WHERE (s.start_dt < pr.t_dt AND s.end_dt > pr.t_dt)
)
像这样的怎么样
select * -- a bunch of stuff
FROM LT_CHC_TOURS_RSV_CS a
LEFT OUTER JOIN lv_customer_info1 b on a.grp_attending = b.customer_no
LEFT OUTER JOIN lv_chc_order_detail_info o on a.order_no = o.order_no
JOIN TR_SEASON s on a.t_dt between s.start_dt and s.end_dt
JOIN LTR_CHC_TOURS_RSV_PRICE p on s.id = p.season
通过这种方式,您可以查看t_dt字段,它应该位于start_dt和end_dt之间,然后使用该字段中的id进行连接 内部连接LTR\u CHC\u TOURS\u RSV\u PRICE pr价格表没有t\u dt字段,只有pr.season字段。抱歉,我一定把这些弄混了。如果需要确保LT_CHC_TOURS_RSV_CS t_dt字段位于季节日期字段之间,则需要存在某种关系。这些表或任何其他表上是否有其他字段可以链接它们?这很有效,谢谢。我想知道添加额外的连接是否会大大降低效率/速度。