title: Querying multiple tables in Flask using sqlite3
body: <p>Can anyone please give me a simpler solution for this?</p>
  
  <p>I'm trying to query four different tables in my database and iterating them with a very bizarre FOR pattern, within HTML.</p>
  
  <p>All the time I get MemoryError because the database is huge.</p>
  
  <h1>Python script:</h1>
  
  <pre><code>import sqlite3
  con=sqlite3.connect('/home/sergiuster/Downloads/python/exportSQL.db', check_same_thread=False)
  con.row_factory = sqlite3.Row
  
  #QUERY MATERIALECARACT
  cur = con.cursor()
  cur.execute("SELECT MaterialeCaracteristici.CodProdus, MaterialeCaracteristici.Rollout, MaterialeCaracteristici.CatSezon, MaterialeCaracteristici.CodEAN, MaterialeCaracteristici.Descriere,MaterialeCaracteristici.Descriere, MaterialeCaracteristici.PretVz FROM MaterialeCaracteristici WHERE MaterialeCaracteristici.CodProdus LIKE 'VGF%' GROUP BY MaterialeCaracteristici.CodProdus")
  row = cur.fetchall()
  
  #QUERY STOC
  cur2=con.cursor()
  cur2.execute("SELECT StocTotal.CodProdus, Sum(StocTotal.Stoc) AS SumOfStoc FROM StocTotal WHERE StocTotal.CodProdus LIKE 'VGF%' GROUP BY StocTotal.CodProdus")
  row2 = cur2.fetchall()
  
  #QUERY VANZARI
  cur3=con.cursor()
  cur3.execute("SELECT dbo_VanzariCumulat.CodProdus,Sum(dbo_VanzariCumulat.Cant) AS SumOfCant FROM dbo_VanzariCumulat WHERE dbo_VanzariCumulat.CodProdus LIKE 'VGF%' AND dbo_VanzariCumulat.UnLg NOT LIKE 'SH-D101' GROUP BY dbo_VanzariCumulat.CodProdus")
  row3 =cur3.fetchall()
  
  #QUERY PA
  cur4=con.cursor()
  cur4.execute("SELECT dbo_PA.MTRL, dbo_PA.CodProdus, dbo_PA.PA FROM dbo_PA GROUP BY dbo_PA.MTRL, dbo_PA.CodProdus, dbo_PA.PA")
  row4 =cur4.fetchall()
  
  
  from flask import Flask, render_template, request
  app = Flask(__name__)
  app.debug = True
  
  @app.route("/index")
  def index():
  
      return render_template('index.html', object2 = row2, object = row, object3 = row3,object4 = row4)
  </code></pre>
  
  <h1>html:</h1>
  
  <pre><code>{% for obj in object %}
  
              VZ:
              {% for obj3 in object3 %}
                {% if obj3['CodProdus'] == obj['CodProdus'] %}
                            {{ obj3['CodProdus'] }}//
                            {{ obj3['SumOfCant']  | int}}&lt;br&gt;
                {% endif %}
              {% endfor %}
  
              STOC:
              {% for obj2 in object2 %}
                {% if obj2['CodProdus'] == obj['CodProdus'] %}
                            {{ obj2['CodProdus'] }}//
                            {{ obj2['SumOfStoc']  | int}}&lt;br&gt;
                {% endif %}
              {% endfor %}
  
              PA:
              {% for obj4 in object4 %}
                {% if obj4['CodProdus'] == obj['CodProdus'] %}
                    {{ obj4['CodProdus'] }}//
                    {{ obj4['PA']|round(2)|float}}&lt;br&gt;
                    {{(((obj['PretVz']/1.19)-obj4['PA'])/obj4['PA']*100)|round(2)|float}}%
                {% endif %}
             {% endfor %}
   {% endfor %}
  </code></pre>
  
  <p>Is there any way that I can use a function and call it from HTML so that it will go back to the python script and then return the value for SumOfStoc back in HTML?</p>
  
  <h1>Example below:</h1>
  
  <pre><code>#QUERY MATERIALECARACT
  cur = con.cursor()
  cur.execute("SELECT MaterialeCaracteristici.CodProdus, MaterialeCaracteristici.Rollout, MaterialeCaracteristici.CatSezon, MaterialeCaracteristici.CodEAN, MaterialeCaracteristici.Descriere,MaterialeCaracteristici.Descriere, MaterialeCaracteristici.PretVz FROM MaterialeCaracteristici WHERE MaterialeCaracteristici.CodProdus LIKE 'VGF%' GROUP BY MaterialeCaracteristici.CodProdus")
  row = cur.fetchall()
  
  
  
  def query_stoc(cod):  // I want to use MaterialeCaracteristici.CodProdus in html and pass it into this function, then return another value with the help of this function, in HTML;
      #QUERY STOC
      cur2=con.cursor()
      cur2.execute("SELECT StocTotal.CodProdus, Sum(StocTotal.Stoc) AS SumOfStoc FROM StocTotal WHERE StocTotal.CodProdus =? GROUP BY StocTotal.CodProdus", (cod))
      row2 = cur2.fetchall()
      return row2['SumOfStoc']
  </code></pre>
  
  <p>I hope i'm understandable and not making a fool of myself.
  Any help appreciated!</p>
  
  <p>Thank you.</p>