Bonjour,
Je voudrais créer une table temporaire (SQLITE) pour afficher une comparaison des montant dans deux colonnes. en exécutant le requête suivante dans l'éditeur, je reçois un tableau qui m'affiche
le résultat attendu :
Je voudrais paramétré cette requête en utilisant deux combobox, le premier pour la période Mois et l'autre Mois-1 et afficher le résultat sur un tableview.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 CREATE VIEW tmp_comparaison AS SELECT ident, intitule, SUM(CASE WHEN periode ='2021-03' THEN montant ELSE 0 END) '2021-03', SUM(CASE WHEN periode ='2020-03' THEN montant ELSE 0 END) '2020-03' FROM factures WHERE periode in ('2021-03', '2020-03') GROUP BY ident
Le problème, le tableau est vide !!!!
J'ai déjà posté mon problème au forum QtGui, on m'a conseillé que peut être il y a une erreur de syntaxe dans la requête ??
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20mois = self.ui.cb_mois.currentText() #1er combobox mois_ant = self.ui.cb_mois_ant.currentText() #2ème combobox requete = QSqlQuery() requete.prepare('''CREATE VIEW tmp_comparaison AS SELECT ident, intitule, SUM(CASE WHEN periode =:mois THEN montant ELSE 0 END) :mois, SUM(CASE WHEN periode =:mois_ant THEN montant ELSE 0 END) :mois_ant FROM factures WHERE periode in (:mois, :mois_ant) GROUP BY reference ORDER BY ident''') requete.bindValue(":mois", mois) requete.bindValue(":mois_ant", mois_ant) requete.exec() self.model_comparaison_ventes = QSqlRelationalTableModel() self.model_comparaison_ventes.setTable("tmp_comparaison") self.model_comparaison_ventes.select() self.ui.tableView_comparaison.setModel(self.model_comparaison_ventes)
Merci par avance pour votre réponse.






Répondre avec citation




Partager