在给定的表格中(如何正确地格式化它们?),
当没有计数和分组时,自连接是很简单的。但我似乎无法找到做这件事的方法。 "self join AFTER group by"是否会使这变得不可能?如果我必须玩临时表游戏,我会这样做(虽然我宁愿不这样做),因为真正的目标是一个单独的SQL块(我可以脚本化),而不仅仅是一个选择语句。
目前,我正在执行前者并手动调整数据。你有什么想法吗?
嗯...当然,我头脑中的所有东西对我来说都很明显 ;)
我试图实现的“业务逻辑”是“将'primary A'中'secondary'的计数与'primary B'中'secondary'的计数进行比较”,这就是为什么我没有写出B:B结果集行。但我认为任何把它们放进去的子句都可以被过滤。
primary secondary
A a
A b
A b
B a
B a
B b
我正在尝试使用自连接来获取比较分组计数。
获得以下结果集很容易:
Primary Secondary Count
A a 1
A b 2
B a 2
B b 1
使用类似以下的语句:
select primary,secondary,count(*) from foobar group by primary,secondary
但我真正想要的是:
Primary Secondary Count Primary Secondary Count
A a 1 B a 2
A b 2 B b 1
当没有计数和分组时,自连接是很简单的。但我似乎无法找到做这件事的方法。 "self join AFTER group by"是否会使这变得不可能?如果我必须玩临时表游戏,我会这样做(虽然我宁愿不这样做),因为真正的目标是一个单独的SQL块(我可以脚本化),而不仅仅是一个选择语句。
目前,我正在执行前者并手动调整数据。你有什么想法吗?
嗯...当然,我头脑中的所有东西对我来说都很明显 ;)
我试图实现的“业务逻辑”是“将'primary A'中'secondary'的计数与'primary B'中'secondary'的计数进行比较”,这就是为什么我没有写出B:B结果集行。但我认为任何把它们放进去的子句都可以被过滤。