0
前段时间,使用SQLite,我写了一大堆SQL作为视图的基础。现在我再看一遍,我看不出它可能如何工作,但它已经很好地工作了很长时间。 sql的要点如下。 我得到的平均(结果)在正确值两个X和ÿ即使X使用条款等这个SQL为什么有效? (我不认为它应该!)
select avg(result) from TableB
...当tableB的不包含一个名为result的字段。
为什么这段代码不会失败?
CREATE TABLE TableB
(TheKey TEXT);
CREATE TABLE TableA
( TheID TEXT,
TheKey TEXT,
result INTEGER );
SELECT
TheID,
avg(result) as y,
(select avg(result) from TableB as T where T.TheKey = TableA.TheKey) as x,
FROM
TableA
LEFT JOIN
TableB
ON TableA.TheKey = TableB.TheKey
GROUP BY
TheID, TableA.TheKey
哦,当然,真的是愚蠢的问题。我现在需要做一个修改,包括使用TableB的权重来调整平均值,这就是为什么我发现它。我想我在编写原始SQL时可能已经考虑到了这一点,所以我将TableB的引用留在那里。 – user3209752