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. 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. 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. 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