0

因此,感谢用户 bonCodigo他回答我的上一个问题中,我有了这个精彩的查询:

SELECT 
    ticker, 
    `Date` as date, 
    `Daily Open`, 
    `Daily High`,
    `Daily Low`,
    `Daily Close`,
    concat(round(pxpct*100,2),'%') `Percent change`

FROM 
    (select case when ticker <> @pxticker then @pxclose := null end, 
    p.*, 
    (`Daily Close`-@pxclose) as pxchange,
    (`Daily Close`-@pxclose)/@pxclose as pxpct, 
    (@pxclose := `Daily Close`),
    (@pxticker := ticker) from viewDailyOHLCPrices p
JOIN
    (select @pxclose := null, @pxticker := ticker from viewDailyOHLCPrices order by     ticker, date limit 1)  as a
    order by ticker, date ) as b
order by ticker, date asc

它返回给我这样的结果:

TICKER  DATE        OPEN    HIGH    LOW     CLOSE   PXCHANGE  PXPCT
AAAE    11-26-2012  0.01    0.01    0.01    0.01    (null)    (null)
AAAE    11-27-2012  0.013   0.014   0.0083  0.014   0.004     40.0000%
AAAE    11-28-2012  0.014   0.0175  0.014   0.0165  0.0025    17.8571%
AAAE    11-29-2012  0.0175  0.0175  0.0137  0.0137  -0.0028   -16.9697%
AAMRQ   11-26-2012  0.4411  0.53    0.4411  0.529   (null)    (null)
AAMRQ   11-27-2012  0.51    0.511   0.461   0.495   -0.034    -6.4272%
AAMRQ   11-28-2012  0.482   0.49    0.43    0.464   -0.031    -6.2626%
AAMRQ   11-29-2012  0.4505  0.459   0.4411  0.459   -0.005    -1.0776%
AAMRQ   11-30-2012  0.45    0.457   0.4455  0.4568  -0.0022   -0.4793%

现在我有一个视图,为了简单起见,我们称之为它,myview假设它有字段:date, ticker, v1, v2

有没有办法可以将 view1 的结果与上面的查询结果结合起来,所以我最终得到这样的结果?

DATE          TICKER    v1    v2    DATE        OPEN    HIGH    LOW     CLOSE   PXCHANGE  PXPCT
11-25-2012    AAAE      117   287   11-26-2012  0.01    0.01    0.01    0.01    (null)    (null)
11-26-2012    AAAE      339   159   11-27-2012  0.013   0.014   0.0083  0.014   0.004     40.0000%
11-27-2012    AAAE      219   937   11-28-2012  0.014   0.0175  0.014   0.0165  0.0025    17.8571%
11-28-2012    AAAE      821   403   11-29-2012  0.0175  0.0175  0.0137  0.0137  -0.0028   -16.9697%
11-25-2012    AAMRQ     263   721   11-26-2012  0.4411  0.53    0.4411  0.529   (null)    (null)
11-26-2012    AAMRQ     173   932   11-27-2012  0.51    0.511   0.461   0.495   -0.034    -6.4272%
11-27-2012    AAMRQ     218   364   11-28-2012  0.482   0.49    0.43    0.464   -0.031    -6.2626%
11-28-2012    AAMRQ     234   844   11-29-2012  0.4505  0.459   0.4411  0.459   -0.005    -1.0776%
11-29-2012    AAMRQ     821   472   11-30-2012  0.45    0.457   0.4455  0.4568  -0.0022   -0.4793%

如您所见,我想通过和字段加入myview查询(如果是第二个日期列,则为下一个交易日的日期)。这很重要,因为从一个表中查询我每天都有数据,包括周六和周日,但是视图查询我只有开放交易日数据的表(通常是周一至周五......但周六和周日没有数据)星期天也不是平日假期)。所以第二个日期列必须是下一个交易日(视图中有数据的第二天)。tickerdatemyviewviewDailyOHLCPricesviewDailyOHLCPrices

因此,在我硬编码的示例结果中,在第一行中,我确实想要(星期日)的值v1& v2, ​​(星期一)的价格,以及(星期一)和(星期五)之间的价格变化......等等。11-25-2012openhighlowclose11-26-201211-26-201211-23-2012

我在开头发布的查询已经处理了从一天到有价格数据的前一天的百分比增加/减少(PXPT)(对于那个ticker

(在这种情况下,第一行的 PXPCT 为“(空)”,只是因为我没有“2012 年 11 月 25 日”之前的数据)

我知道我可以加入 2 个或更多表,或者 2 个或更多视图,但我不确定你是否可以加入一个视图和一个查询(就像我的问题一样)。

我真的希望我没有让我的问题过于复杂或混乱。请不要犹豫,询问您可能需要的任何说明;-)

谢谢!,博加。

4

0 回答 0