Bonjour,
J'utilise Delphi 11.1 avec les composants firedac pour afficher les données d'une base sqlite.
Dans ma base, j'ai les données suivantes :
Je souhaite afficher des données en faisant une jointure sur ma vue.
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 -- // Tables CREATE TABLE "auteurs" ( "id" INTEGER PRIMARY KEY AUTOINCREMENT, "nom" VARCHAR(255) NOT NULL, "prenom" VARCHAR(255) DEFAULT NULL ); -- // Vues CREATE VIEW auteurs_nom_prenom AS SELECT "id", CAST( CASE WHEN "prenom" IS NULL OR "prenom" = "" THEN "nom" ELSE "prenom" || " " || "nom" END AS varchar(510)) "prenom_nom" FROM "auteurs";
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 qry.SQL.Text := 'SELECT l."titre", l."lu", ' + ' g."nom" "genre" ' // + ' , a.prenom_nom' + ' FROM "livres" l ' + ' LEFT JOIN "genres" g ON l."genre_id" = g."id" ' + ' LEFT JOIN "auteurs_nom_prenom" a ON l."auteur_id" = a."id";';
La requête fonctionne correctement dans sqlite.
Avec la ligne commenté, cela fonctionne, mais si je décommente , a.nom_prenom, j'obtiens l'erreur : 'Type de champ non valide'.
Savez-vous comment corriger cette erreur ?
Partager