我正在处理期货合约的价格数据。我有2010年12月和2011年3月的数据,我已加载到数据库中。 我想生成一个包含两个合同的时间序列的平面文件。所以,让我们说2010年12月到期为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");
您能否告诉我将这两个时间序列(给定日期限制)组合成平面文件的最佳方法。 THX!
答案 0 :(得分:1)
您正在寻找的是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'