2011-11-29 38 views
1

我有两个表A和B从另一个表乘以与多个选择一个查询值

Table A 
Name Time    Price 
a  12/01/2011 12:01 1.2 
a  12/01/2011 12:02 1.3  
a  12/01/2011 12:03 1.7 

Table B 
Name Date  Factor_P Factor_Q Factor_R 
a  12/01/2011 0.234  1.456  1.445 
a  12/02/2011 0.345  1.222  1.765 

我需要做一个

Select Price * (Factor_P * Factor_Q/Factor_R) from Table A where Name = 'a' and Time > '12/01/2011 09:30' and Time < '12/01/2011 16:00' 

我需要获取从表B和三个因素做乘法。如何在匹配日期后使用来自其他表格的多个值进行乘法运算?

+0

哪种数据是a.Time和b.Date? – Marco

+0

都是'日期' – Aks

回答

2

试试这个:

SELECT (a.Price * b.Factor_P * b.Factor_Q/b.Factor_R) AS num 
FROM tableA a INNER JOIN tableB b 
    ON a.Name = b.Name 
    AND TO_CHAR(a.Time, 'DD-MON-YYYY') = TO_CHAR(b.Date, 'DD-MON-YYYY') 
WHERE a.Name = 'a' 
    AND Time BETWEEN '2011/01/12 09.30.00' AND '2011/01/12 16.00.00' 
+0

@aks:解决方案我提供的应该适用于日期,但我无法测试它。 – Marco

+0

让我试试这个。谢谢 – Aks

+0

这工作。谢谢! – Aks

相关问题