回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有两个表没有这样的关系:</p>
<pre><code>hurst = Table('Hurst', metadata,
Column('symbol_id' , Integer, primary_key=True),
Column('Date' , String(20), nullable=False),
Column('symbol' , String(40), nullable=False),
Column('HurstExp' , Float, nullable=False),
)
fundamental = Table('Fundamental', metadata,
Column('symbol_id' , Integer, primary_key=True),
Column('Date' , String(20), nullable=False),
Column('symbol' , String(40), nullable=False),
Column('MarketCap' , Float, nullable=False),
)
</code></pre>
<p>下面的每个查询都可以正常工作。我如何将它们结合起来,这样我才能得到价值超过50000000000的赫斯特公司?在</p>
^{pr2}$
<p>如果尝试使用联接,则会出现错误:</p>
<pre><code>j = join(hurst, funda, hurst.c.symbol == funda.c.symbol)
stmt = select([hurst]).select_from(j)
theJoin = run(stmt)
Traceback (most recent call last):
File "/home/idf/anaconda3/lib/python3.5/site-packages/sqlalchemy/engine/base.py", line 1139, in _execute_context
context)
File "/home/idf/anaconda3/lib/python3.5/site-packages/sqlalchemy/engine/default.py", line 450, in do_execute
cursor.execute(statement, parameters)
cursor.execute(statement, parameters)
sqlite3.OperationalError: no such table: Fundamental
</code></pre>
<p>我甚至不能做简单的版本</p>
<pre><code># This will return more results than you are probably expecting.
s = select([hurst, funda])
run(s)
</code></pre>