Créer vue SQLITE3 (Demande d'aide) [Résolu/Fermé]

Signaler
Messages postés
5
Date d'inscription
samedi 18 janvier 2020
Statut
Membre
Dernière intervention
19 janvier 2020
-
Messages postés
5
Date d'inscription
samedi 18 janvier 2020
Statut
Membre
Dernière intervention
19 janvier 2020
-
Bonjour,
Sur sqlite3 j'ai créé une table mono-colonne avec des valeurs de 0 à 100.
Soit 101 lignes.
Je doit créer une vue avec 3 colonnes.
Une colonne x, une colonne y et une colonne z, z étant calculée à partir de x et y.
Exemple :
x | y | z
--------------------------------
100| 80| 100,080

Au total je doit obtenir une table avec 3 colonnes et 10201 lignes (101 *101).
Exemple :
x | y | z
0 | 0 | 000,000
0 | 1 | 000,001
... | ... | ...
100 | 100 | 100,100

Merci pour votre aide,
lolpark

3 réponses

Messages postés
31606
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 mars 2021
3 301
Bonjour,

En sqlite3, si tu veux formater tes nombres en ajoutants les "lead" zero..
Tu peux
--  zero-pad to 3 digits:
select substr('000'||y,- y.nombre);

ou un sprintf
select printf('%04d',  y.nombre)

1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
5
Date d'inscription
samedi 18 janvier 2020
Statut
Membre
Dernière intervention
19 janvier 2020

Re-bonjour,
J'ai réussi à créer ma vue par contre j'ai un problème avec le format.

CREATE VIEW vue_points AS
SELECT x.nombre AS x, y.nombre AS y, CASE WHEN y.nombre == 100
THEN x.nombre "." y.nombre WHEN y.nombre < 10
THEN x.nombre ".00" y.nombre
ELSE x.nombre ".0" y.nombre
END AS z FROM zero_cent AS x, zero_cent AS y;


Ce qui me donne :
x | y | z
0 | 0 | 0.001
au lieu de :
x | y | z
0 | 0 | 000.001

Comment faire pour ajouter des 0 à ma valeur x reprise dans z afin d'obtenir 3 chiffres à chaque fois comme je l'ai fait avec la valeur y ?
Merci de votre aide,
Lolpark
Messages postés
14493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 mars 2021
810
bonjour, moi je commencerais par faire une view mono-colonne qui met les 101 valeurs dans le bon format.
et ensuite une view qui combine les valeurs deux par deux.
Messages postés
5
Date d'inscription
samedi 18 janvier 2020
Statut
Membre
Dernière intervention
19 janvier 2020
>
Messages postés
14493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 mars 2021

Intéressant j’essayerai mais je préférerais le faire une seule vue comme la commande que j'ai envoyé précédemment.
Merci pour ton idée
Messages postés
5
Date d'inscription
samedi 18 janvier 2020
Statut
Membre
Dernière intervention
19 janvier 2020

Bonjour Jordane45,

Je ne vois pas comment intégrer la commande à mon code.
Comment je peux l’intégrer ?
Messages postés
14493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 mars 2021
810
un exemple d'utilisation:
CREATE VIEW vue_points AS
SELECT x.nombre AS x, y.nombre AS y,
printf('%03d', x.nombre) as lx, printf('%03d', y.nombre) as ly
FROM zero_cent AS x, zero_cent AS y;
Messages postés
5
Date d'inscription
samedi 18 janvier 2020
Statut
Membre
Dernière intervention
19 janvier 2020
>
Messages postés
14493
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
6 mars 2021

Merci beaucoup !
Voila ma commande final qui fonctionne:

CREATE VIEW vue_points AS
SELECT x.nombre AS x, y.nombre AS y,
printf('%03d', x.nombre)||","|| printf('%03d', y.nombre) as z
FROM zero_cent AS x, zero_cent AS y;


Bonne journée