|
1
11
交叉连接的典型合法用途是显示按产品和地区划分的总销售额的报告。如果产品P在R区域没有销售,那么我们希望看到一行有零,而不仅仅是不显示一行。
|
|
2
36
我经常遇到的一个用途是将记录拆分为几个记录,主要是为了报告目的。 想象一个字符串,其中每个字符代表相应小时内的某个事件。
现在,您需要一份报告,显示在哪一天发生了多少事件。将表与ID为1到24的表交叉连接,然后施展魔法。..
=>
|
|
|
3
2
我有不同的报告对记录集进行预过滤(按公司内的不同业务线),但有些计算需要公司范围内的收入百分比。记录来源必须包含公司总额,而不是依赖于在报告本身中计算总金额。 示例:记录集包含每个客户的余额以及客户收入来源的业务线。该报告可能只显示“零售”客户。无法获得整个公司的余额总和,但报告显示了公司收入的百分比。 由于有不同的余额字段,我觉得与具有多个余额的视图进行完全连接(我也可以重用此公司总计视图)而不是由子查询组成的多个字段不那么复杂。 另一个是更新语句,其中需要创建多条记录(预设工作流过程中的每个步骤一条记录)。 |
|
|
4
1
这里有一个,其中CROSS JOIN替代了INNER JOIN。当要连接的两个表之间没有相同的值时,这是有用和合法的。例如,假设您有一个表,其中包含某个语句或公司文档的版本1、版本2和版本3,所有这些都保存在SQL Server表中,这样您就可以在订单发出后很长一段时间内,以及在文档被重写为新版本后很长时间内,动态地重新创建与订单关联的文档。但是,您需要连接的两个表中只有一个(Documents表)有VersionID列。以下是一种方法:
|
|
|
5
0
我最近在一份用于销售预测的报告中使用了CROSS JOIN,该报告需要列出销售人员在每个总账账户中完成的销售额。 因此,在报告中,我做了一些这样的事情:
这给了我每个销售人员的每个总账账户,比如: SalesPsn AccountN 1000 40100 1000 40200 1000 40300 1000 48150 1000 49980 1000 49990 1005 40100 1005 40200 1005 40300 1054 48150 1054 49980 1054 49990 1078 40100 1078 40200 1078 40300 1078 48150 1078 49980 1078 49990 1081 40100 1081 40200 1081 40300 1081 48150 1081 49980 1081 49990 1188 40100 1188 40200 1188 40300 1188 48150 1188 49980 1188 49990 |
|
|
6
0
用于图表(报告),其中每个分组都必须有一条记录,即使它为零。 (例如RadCharts) |
|
|
7
0
我从源数据中获得了破产字段的组合。 有5种不同的类型,但数据中有2种类型的组合。因此,我创建了5个不同值的查找表,然后对插入语句使用交叉连接来填写其余的值
|
|
|
8
-3
我个人在查询中尽量避免使用笛卡尔积。我想有一个你的连接的每个组合的结果集可能是有用的,但通常如果我最终得到一个,我知道我出了什么问题。 |
|
John D · 需要为NULL或NOT NULL的WHERE子句 1 年前 |
|
Marc Guillot · 记录值时忽略冲突 1 年前 |
|
|
Fachry Dzaky · 正确使用ROW_NUMBER 1 年前 |
|
|
TriumphTruth · 从满足特定条件的数据集中选择1行 1 年前 |