Créer vue SQLITE3 (Demande d'aide)

Résolu
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

  1. Modérateur
    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. 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
      1. Contributeur
        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.
      2. @yg_beInté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
    2. Bonjour Jordane45,

      Je ne vois pas comment intégrer la commande à mon code.
      Comment je peux l’intégrer ?
      1. Contributeur
        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;
      2. @yg_beMerci 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