我正在处理期货合约的价格数据。我有2010年12月和2011年3月的数据,我已经加载到数据库中。我想生成一个包含这两个合约的时间序列的平面文件。那么,假设2010年12月31日到期。在那一天,我将切换到3月11日合约的价格。在此之前,我不想捕获3月11日合约。我知道如何执行该过程的第一步,即获取2010年12月合约的数据,但我正在尝试确定是否应该运行一个单独的查询并将其附加到数据文件中,或者是否有一种方法可以修改我的SQL来处理上述问题。这是我在perl文件中编写的代码。
my $sql=SELECT c_name, t_date, t_price,t_volume FROM $tblname where c_name='FZ10';如果我编写第二个查询,它将是:
my $sql=SELECT c_name, t_date, t_price,t_volume FROM $tblname where c_name='FH11';
my $sth = $dbh->prepare($sql) or die $dbh->errstr;
$sth->execute or die $sth->errstr;
open(FOUT, "> prices.dat");你能让我知道什么是最好的方式来组合这两个时间序列(给定日期限制)到一个平面文件。谢谢!
发布于 2011-11-25 00:53:57
您正在寻找的是UNION运算符。尝试该查询:
SELECT c_name, t_date, t_price,t_volume FROM $tblname where c_name='FZ10'
UNION
SELECT c_name, t_date, t_price,t_volume FROM $tblname where c_name='FH11'https://stackoverflow.com/questions/8259921
复制相似问题