gpt4 book ai didi

python - 在一个查询中从三个表中选择给出相乘的结果

转载 作者:行者123 更新时间:2023-11-30 23:49:05 25 4
gpt4 key购买 nike

我尝试在一个查询中从三个表中进行选择。我选择的这三个sql表每个表有93行


import sqlite3<p></p>

<p>database = sqlite3.connect('F.tsj')
cursor = database.cursor()
cursor.execute("select Name, C1, C2, C3, NumofEpochs, HDop, VDop, NumOfGpsSats, SecondsFrom1970 from tblSoPoints, tblCrdGnssRaw, tblCrdRawMeas where keySoPoint and keyCrdGnssRaw = keyCrdRawMeas")
results = cursor.fetchall()</p>

然后我尝试:


for line in enumerate(results):
print line

什么给了我 8648 行,这是 93 * 93 或 92**2。
当我在一个查询中仅选择两个表时,一切正常,我得到 93 行。
如何在一个查询中从三个表中进行选择,并在 for 循环期间从表中获取正确的行数,而不是乘以行数?

最佳答案

而不是:

WHERE keySoPoint AND keyCrdGnssRaw = keyCrdRawMeas

我猜你的意思是这样的:

WHERE keySoPoint = keyCrdRawMeas
AND keyCrdGnssRaw = keyCrdRawMeas

我还建议您开始使用 JOIN 语法,因为它可以减少连接条件中出现错误的可能性:

SELECT Name, C1, C2, C3, NumofEpochs, HDop, VDop, NumOfGpsSats, SecondsFrom1970
FROM tblCrdRawMeas
JOIN tblCrdGnssRaw ON keyCrdGnssRaw = keyCrdRawMeas
JOIN tblSoPoints ON keySoPoint = keyCrdRawMeas

这提供了许多好处,包括更容易阅读和更容易修改以在需要时使用外部联接。

关于python - 在一个查询中从三个表中选择给出相乘的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7783328/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com