我正在使用 MySQL,我试图从三个不同的表中获取数据,但不确定我应该使用的语法。
我有一个名为 full_daily_data_1 的表,其中包含以下字段 Symbol Trade_Date Day_Open Day_High
我还有一个名为 custom_indices_xref 的表,其中包含以下字段:符号 Custom_Index_Name
还有一个名为 daily_index_weightings 的表,其中包含以下字段: Custom_Index_Name Symbol Trade_date combo_weighting
现在,我把它作为一个选择语句来从两个表中获取我需要的数据:
SELECT
Symbol,
Trade_Date,
Day_Open,
Day_High
FROM
full_daily_data_1
WHERE
trade_date >= '2012/01/01' AND
trade_date <= '2012/01/31' AND
symbol in (SELECT symbol from custom_indices_xref WHERE Custom_Index_Name = 'Agricultural-Chemical-and-Fertilizer-Stocks');
但我想要的是日期范围符号 Day_Open Day_High, Custom_Index_Name Symbol Trade_date combo_weighting 中每个日期的每个符号的以下数据
所以基本上,需要从daily_index_weightings 表中为选定的日期和符号添加combo_weighting。我的 SQL 语句应该是什么样子才能完成这个?
我试过这个,但我得到一个 SQL 语法错误,所以不确定我做错了什么:
SELECT
full_daily_data_1.Symbol,
full_daily_data_1.Trade_Date,
full_daily_data_1.Day_Open,
full_daily_data_1.Day_High,
full_daily_data_1.Day_Low,
daily_index_weightings.combo_weighting
FROM
full_daily_data_1
WHERE
trade_date >= '2012/01/01' AND
trade_date <= '2012/01/31' AND
Symbol in (SELECT symbol from custom_indices_xref WHERE Custom_Index_Name = 'Agricultural-Chemical-and-Fertilizer-Stocks')
JOIN
daily_index_weightings ON
daily_index_weightings.symbol = full_daily_data_1.Symbol AND
daily_index_weightings.Trade_Date = full_daily_data_1.Trade_Date ;