Créer vue SQLITE3 (Demande d'aide)

Résolu
lolpark Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
lolpark Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
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

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
lolpark Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
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
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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.
0
lolpark Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
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
0
lolpark Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour Jordane45,

Je ne vois pas comment intégrer la commande à mon code.
Comment je peux l’intégrer ?
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584
 
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;
0
lolpark Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   > yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention  
 
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
0