Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 产生错误结果的查询_Python_Mysql_Sql_Flask - Fatal编程技术网

Python 产生错误结果的查询

Python 产生错误结果的查询,python,mysql,sql,flask,Python,Mysql,Sql,Flask,我们的查询旨在从两个单独的表中提取两段内容并将它们连接起来。但是,在网页上显示信息时,似乎只是从一个表中提取内容,或者从两个表中提取信息,然后还显示另一个表中不应该指定的信息,因为我们的查询只应该访问两个表。有什么想法吗?怎么了?代码如下: randnum = random.randint(1,4)

我们的查询旨在从两个单独的表中提取两段内容并将它们连接起来。但是,在网页上显示信息时,似乎只是从一个表中提取内容,或者从两个表中提取信息,然后还显示另一个表中不应该指定的信息,因为我们的查询只应该访问两个表。有什么想法吗?怎么了?代码如下:

  randnum = random.randint(1,4)                                                                                                                              
  randnum2 = random.randint(1,4)                                                                                                                             
  trivia == 'Combo-Trivia!'                                                                                                                                  
  if randnum == 1:                                                                                                                                           
    tcol = 'laws'                                                                                                                                            
  elif randnum == 2:                                                                                                                                         
    tcol = 'trivia'                                                                                                                                          
  elif randnum == 3:                                                                                                                                         
    tcol = 'sayings'                                                                                                                                         
  else:                                                                                                                                                      
    tcol = 'fortuneCookies'                                                                                                                                  
  if randnum2 == 1:                                                                                                                                          
    tcol2 = 'laws'                                                                                                                                           
  elif randnum2 == 2:                                                                                                                                        
    tcol2 = 'trivia'                                                                                                                                         
  elif randnum2 == 3:                                                                                                                                        
    tcol2 = 'sayings'                                                                                                                                        
  else:                                                                                                                                                      
    tcol2 = 'fortuneCookies'                                                                                                                                 
  cur.execute('select ' +tcol +'.content,'+ tcol2 +'.content from '+tcol+' JOIN '+tcol2+' order by rand() limit 1')                                          
  rows = cur.fetchall()                                                                                                                                      
  print rows                                                                                                                                                 
  return render_template('mashdisplay.html', trivia = trivia, rows = rows) 
我意识到它有可能会尝试对同一个表进行两次排序,但如果它没有给出错误,它要么只显示一个表中的内容,要么显示三个表中的内容

为此使用python和Flask与MySQL。感谢您的任何帮助


编辑:我们试图做的是从数据库中的两个随机表中获取信息,并让查询生成两段内容(内容是每个表中定义的一列),然后这些内容可以显示在该信息指向的网页上。例如:内容从法律表格中选择,内容从谚语表格中选择,两者合并,然后合并的输出显示在网页上。我承认我们可以为此进行两次单独的查询,但是最好是单独进行查询

根本不清楚你在这里做什么。您没有为要联接的表指定任何条件,因此最终得到的结果是:即tcol1的每一行都联接到tcol2的每一行。毫无疑问,这不是你想要的,但我不明白你想要什么,所以我不能帮你解决它。

不是真的。你一直说“加入”,但你不说如何加入。加入的标准是什么?您是否有外键,或者有共同的数据段?没有共同的数据段。示例表和列:表1:琐事numID,内容表2:法律numID,状态,内容。联接的目的是从两个表(每次随机选择的表)中获取内容列,并在html页面上并排显示这两个内容块。加入可能不是最好的方式,但这是我首先想到的。我还是不太明白,但我怀疑你想加入而不是加入。