我在加入表格时遇到问题,这里是示例表格:
表 A:(30 行)
╔════╦════════════╦═════════════╗ ║ ID ║ 名称 ║ 描述 ║ ╠════╬════════════╬═════════════╣ ║ 1 ║ 类型 ║ Unicode 艺术 ║ ║ 2 ║ 页眉 ║ 电子表格 ║ ║ 3 ║ 自动对齐 ║ 关闭 ║ ╚════╩════════════╩═════════════╝
表 B:(100 行)
╔════╦════════════╦═════════════╦════════╕ ║ ID ║ 名称 ║ 描述 ║ 表 A ║ ╠════╬════════════╬═════════════╬════════╕ ║ 1 ║ 类型 ║ Unicode 艺术 ║ 1 ║ ║ 2 ║ 页眉 ║ 电子表格 ║ 1 ║ ║ 3 ║ 自动对齐 ║ 关闭 ║ 2 ║ ╚════╩════════════╩═════════════╩════════╕
表 C:(8000 行)
╔════╦════════════╦═════════════╦════════╕ ║ ID ║ 文章 ║ 文字 ║ TableB ║ ╠════╬════════════╬═════════════╬════════╕ ║ 1 ║ 类型 ║ Unicode 艺术 ║ 1 ║ ║ 2 ║ 页眉 ║ 电子表格 ║ 1 ║ ║ 3 ║ 自动对齐 ║ 关闭 ║ 2 ║ ╚════╩════════════╩═════════════╩════════╕
表 D:(100 000 行并且还在计数)
╔════╦═══════════╦════════════╦═════════════╦═════ ════╗ ║ ID ║ 日期 ║ 点击次数 ║ 展示次数 ║ TableC ║ ╠════╬═══════════╬════════════╬═════════════╬═════ ════╣ ║ 1 ║ 20120814 ║ 10 ║ 3 ║ 1 ║ ║ 2 ║ 20120815 ║ 13 ║ 5 ║ 1 ║ ║ 3 ║ 20120816 ║ 15 ║ 10 ║ 2 ║ ╚════╩═══════════╩════════════╩═════════════╩═════ ════╝
表 E:(200 000 行并且还在计数)
╔════╦═══════════╦════════════╦═══════════╦═══════ ══╗ ║ ID ║ 日期 ║ 浏览量 ║ 访客 ║ TableC ║ ╠════╬═══════════╬════════════╬═══════════╬═══════ ══╣ ║ 1 ║ 20120814 ║ 10 ║ 3 ║ 1 ║ ║ 2 ║ 20120815 ║ 13 ║ 5 ║ 1 ║ ║ 3 ║ 20120816 ║ 15 ║ 10 ║ 2 ║ ║ 4 ║ 20120817 ║ 8 ║ 7 ║ 2 ║ ║ 5 ║ 20120818 ║ 9 ║ 4 ║ 2 ║ ╚════╩═══════════╩════════════╩═══════════╩═══════ ══╝
我用单个 sql 语句查询这些表:
选择 一个名字, 说明, 总和(D.clicks), 总和(D. 印象数), 总和(E.Views), 总和(电子访客) 从 一种 左连接 B ON A.ID=B.TableA 左连接 C ON B.ID=C.TableB 左连接 D ON C.ID=D.TableC 左连接 E ON C.ID=E.TableC 通过...分组 援助
问题是查询为表 D 和表 E 返回无效的 SUM
但是,如果在单个查询中查询表 D 和表 E,我会得到正确的值:
选择 一个名字, 说明, 总和(D.clicks), 总和(D. 印象数) 从 一种 左连接 B ON A.ID=B.TableA 左连接 C ON B.ID=C.TableB 左连接 D ON C.ID=D.TableC 通过...分组 援助
编辑 1:
我尝试过 RIGHT JOIN、JOIN、LEFT OUTER JOIN,但它们都
不起作用,当然我可能在错误的地方使用了这些。
但是在我得到“全部包含”的第一个语句中,值
比实际值高出数千倍。