繁体   English   中英

查询产生不正确的结果

[英]Query producing incorrect results

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

  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) 

我意识到,有机会尝试对同一张表进行两次排序,但是没有给出该错误的次数,它要么只显示一张表的内容,要么只显示3张表的内容。

为此使用python和Flask与MySQL。 任何和所有帮助表示赞赏!

编辑:我们正在尝试做的是从数据库中的两个随机表中提取信息,并让查询产生两个内容(内容是每个表中定义的列),然后可以在网页上显示该内容信息是针对的。 例如:从法律表中选择内容,从俗语表中选择内容,将两者合并,然后将合并的输出显示在网页上。 我知道我们可以为此进行两个单独的查询,但是最好有一个单独的查询。

目前还不清楚您在这里做什么。 您没有为要连接的表指定任何条件,因此最终得到的是笛卡尔连接 :即tcol1的每一行都联接到tcol2的每一行。 毫无疑问,这不是您想要的,但是我不知道您想要什么,所以我无法帮助您解决它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM