Gambas France BETA


Pas de compte ? Incription

Creations de vues SQL

1
AuteurMessages
manu#1 Posté le 8/6/2011 à 21:05:00
Avec Gambas ca roule !Bonjour,

Voilal, je me demandais comment créer des vues SQL dans gambas. Je suppose que c'est possible mais j'en suis pas certains... Quelqu'un a t'il déja fait ca ?ou connaissez vous un exemple ?

merci d'avance

Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Prokopy#2 Posté le 9/6/2011 à 20:33:00
Kinder PinguiSalut manu,

qu'est-ce que tu appelles "vue SQL" exactement ? Genre un GridView qui affiche ta table ?
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
manu#3 Posté le 9/6/2011 à 21:41:00
Avec Gambas ca roule !Non proko, je parlais de View avec la commande SQL CREATE View

Mais bon, ce n'est pas indispensable pour avancer mon projet d'autant qu'en travaillant la chose, je bute sur des trucs plus simple ! ;) :roll:

par exemple, j'ai 3 tables :

Table CLIENT : idClient - NomCllient - AdresseClient - .....
Table PRODUIT : idProduit - NomProduit - PrixProduit - .....

Table VENTE : idClient - idProduit - QtéVente - DateVente - .....

je coince sur les jointures ...

Je voudrais que le resultat de ma requete se presente sous cette forme pour un client donné sur une periode donnée :

NomProduit - QtéVente

Je sais faire ca sur la table vente uniquement, mais je n'arrive pas a joindre la table produit pour afficher le nom du produit en place de son id.

Je sais pas si je me fais bien comprdendre ?


C'est une question SQL et non gambas en fait :)



Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
Prokopy#4 Posté le 10/6/2011 à 12:16:00
Kinder PinguiAh d'accord, c'est plus un problème de jointure en fait. :)

Essaie quelque chose comme ça :

1
SELECT PRODUIT.NomProduit, VENTE.QtéVente From VENTEInner Join PRODUIT On PRODUIT.IdProduit = VENTE.IdProduit


Cette requête lie les tables PRODUIT et VENTES par l'id, et récupère le nom et la quantité de vente. Tu peux bien sûr ajouter des clauses Where, des Order By et autres.

Il y a un tuto plus complet sur les jointures ici : http://www.siteduzero.com/tutoriel-3-230007-les-jointures-entre-tables.html . ;)
La théorie, c'est quand on sait tout et que rien ne fonctionne.
La pratique, c'est quand ça marche mais qu'on ne sait pas pourquoi.
Quand la théorie rejoint la pratique, rien ne fonctionne et on ne sait pas pourquoi.
manu#5 Posté le 10/6/2011 à 16:16:00
Avec Gambas ca roule !super, pour les jointures je savais vraiment pas comment faire et vu que c'est quand même la base.... :tongue: merci donc pour le bout de code et le tuto du site du zero, je n'y pense pas assez à ce site ;)

Et toi Proko, as tu recours a des vues SQL, il semble que cela simplifie bien les requêtes compiquées ?

Bon j'adapte le code à ma requete, (que j'ai simplifié dans ma question) et je reviens en cas de probleme .

Merci

Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
manu#6 Posté le 13/6/2011 à 07:34:00
Avec Gambas ca roule !ok super ca marche tres bien, J'ai même utilisé la clause NATURAL JOIN a la place de de INNER JOIN ce qui fait un truc du genre :

1
SELECT PRODUIT.NomProduit, VENTE.QtéVente From VENTENATURAL JOIN Produit


Ca fonctionne dans la mesure ou lles champs des deux tables sur lesquels doit se faire la jointure, portent le même nom ce qui est le cas dans mon exemple

J'ai trouvé ca dans un autre tutoriel du site du zero : http://www.siteduzero.com/tutoriel-3-214617-introduction-aux-jointures-sql.html
Jeanne d'arc, elle a frit, elle a tout compris ! ;)

Config :
Manjaro linux (excellent !)
XFCE 4.1 (simple et efficace)
Gambas 3 dans les dépots (confort total)
1