2012-10-10 118 views
1

我想嵌套两个SELECT查询,其中“内部”查询的结果应该用于对“外部”查询中的每个元组执行乘法。嵌套在查询的选择部分选择查询

“内部”查询还应该访问外部表的一个字段(在本例中为tA.time)。

例子:

SELECT r1 * (SELECT r2 FROM tB WHERE time < tA.time) 
    FROM tA 
    WHERE xyz 
GROUP BY xyz 

第一个问题:一般这可能吗?

第二个问题:这是可能使用SQLite吗?

第3个问题:我以正确的方式勾画了查询吗?我试图用这种方式运行,但现在我无法完成它。

回答

1

只要子查询返回一行,这应该适用于大多数SQL兼容的数据库。我在SQLite中做了类似的事情,我怀疑它会起作用。

(如果子查询返回多行,会出现一个错误。如果它不返回行,乘法运算的结果将是NULL。)

+0

谢谢你,我确保让只有一行将LIMIT设置为1 - 我发现用于测试的样本数据已损坏,无法给我预期的结果。现在一切工作正常! – Simbi