我不明白如何用交叉连接连接两个表。 Earler,在sqlalchemy 1.1.4版,我是这样做的:
A = Table1.sa
B = Table2.sa
my_query = A.query().join(B, literal(True))
但在更新到1.3版之后,出现了引发异常:
sqlalchemy.exc.InvalidRequestError: Can't determine which FROM clause to join from, there are multiple FROMS which can join to this entity. Try adding an explicit ON clause to help resolve the ambiguity.
我明白这意味着我必须做这样的事情:
^{pr2}$但是表A没有表B的外键
如何连接两个没有外键的交叉连接表? 谢谢。在
交叉连接不使用连接条件,因此}之间不能有任何ON。在交叉连接中,
Table1
和{T1
中的每一行都与来自T2
的所有行连接。你确定要使用交叉连接吗?在谢谢你的回答。异常被引发,因为查询无法确定哪个表是左表,而into query(…)使用表B的字段。在我显式指示左表之后,此异常消失了。在
执行交叉联接的最简单方法是从两个表中进行选择,而不提供任何过滤器来执行ANSI联接:
这将产生a和B实体的笛卡尔积(cross-join),不需要任何变通方法。在
相关问题 更多 >
编程相关推荐