import pandas as pd
import sqlite3
# Setup connection
conn = sqlite3.connect("data/ProyectosConstruccion.db")
pd.read_sql_query(
'''
SELECT
name
FROM
sqlite_master
WHERE
type ='table'
''',
conn)
pd.read_sql_query(
'''
SELECT
ID_MaterialConstruccion AS ID,
Nombre_Material AS NOMBRE,
Precio_Unidad AS PRECIO
FROM
MaterialConstruccion
WHERE Importado = 'Si'
ORDER BY NOMBRE
''',
conn)
pd.read_sql_query(
'''
SELECT
p.ID_Proyecto AS ID,
p.Constructora,
p.Ciudad,
p.Clasificacion,
t.Estrato,
l.Nombre || ' ' || l.Primer_Apellido || ' ' || l.Segundo_Apellido AS LIDER
FROM
Proyecto AS p
JOIN Tipo AS t
ON p.ID_Tipo = t.ID_Tipo
JOIN Lider as l
ON p.ID_Lider = l.ID_Lider
WHERE Banco_Vinculado = 'Conavi'
ORDER BY p.Fecha_Inicio DESC, p.Ciudad ASC, p.Constructora
''',
conn)
pd.read_sql_query(
'''
SELECT
Ciudad,
Clasificacion,
COUNT(*) AS TOTAL,
MIN(Fecha_Inicio) AS VIEJO,
MAX(Fecha_Inicio) AS RECIENTE
FROM
Proyecto
WHERE Clasificacion NOT IN ('Casa Campestre', 'Condominio')
GROUP BY Ciudad, Clasificacion
ORDER BY Ciudad, Clasificacion
''',
conn)
pd.read_sql_query(
'''
SELECT
c.ID_Proyecto,
SUM(c.Cantidad * m.Precio_Unidad) AS VALOR
FROM
Compra AS c
JOIN MaterialConstruccion AS m
ON c.ID_MaterialConstruccion = m.ID_MaterialConstruccion
WHERE c.Pagado = "No"
GROUP BY c.ID_Proyecto
HAVING VALOR > 50000
ORDER BY VALOR DESC
''',
conn)
pd.read_sql_query(
'''
SELECT
l.Nombre || ' ' || l.Primer_Apellido || ' ' || l.Segundo_Apellido AS LIDER,
SUM(c.Cantidad * m.Precio_Unidad) AS VALOR
FROM
Lider AS l
JOIN Proyecto AS p
ON l.ID_Lider = p.ID_Lider
JOIN Compra AS c
ON p.ID_Proyecto = c.ID_Proyecto
JOIN MaterialConstruccion AS m
ON c.ID_MaterialConstruccion = m.ID_MaterialConstruccion
GROUP BY LIDER
ORDER BY VALOR DESC
LIMIT 10
''',
conn)