[HS] Des connaisseurs des REQUETES SQL ?

Image ACCES LIBRE SANS INSCRIPTION! On refait le monde... Ici les sujets qui ne rentrent pas dans les z'aut rubriques, même en forçant bien ;-)
Répondre
Avatar du membre
Nicolas08
bientôt béatifié
bientôt béatifié
Messages : 2252
Enregistré le : 06 oct. 2016, 22:20
Localisation : Saint Marceau (08) - T@ 1987 BBR

[HS] Des connaisseurs des REQUETES SQL ?

Message par Nicolas08 »

\o/ tout le monde,

Bon à la base c'est un forum de moto mais comme j'ai cru comprendre qu'il y avait deux trois pointures en informatique ici, je me permets de vous soumettre un cas :mrgreen:.

En complément d'une formation de perfectionnement sur Excel, j'ai été formé sur les requêtes SQL pour interroger des base de données, en l'occurrence l'ERP de ma boite.
Je kiffe tellement ça que je suis en train de me faire un panel d'outils censés me faciliter la vie de tous les jours. Un de ces outils que je souhaite monter, c'est la liste des nomenclatures produits.

J'ai des produits finis, qui consomment un ou plusieurs sous produits, qui eux-mêmes peuvent consommer un ou plusieurs sous produits, etc. etc. Une nomenclature quoi.

Je veux partir de ma liste de tous les produits finis, et finir par afficher tous les sous produits, de tous les niveaux de nomenclature, que ce produit fini consomme.

J'ai donc monté ma requête, en remontant sur 5 niveaux de nomenclature (le max qui existe actuellement) à partir de 10 tables. Actuellement, le résultat de la requête ne me ramène que les produits finis qui ont 5 niveaux de nomenclatures.

Or, je voudrais aussi ramener ceux qui n'ont qu'1, 2, 3 et 4 niveaux. J'ai fini par comprendre que la solution à mon problème s'appelle jointure externe, de type LEFT OUTER JOIN ... mais l'interface que j'utilise, MS Query, ne prend pas en charge les jointures externes lorsque la requête est constituée de plus de 2 tables. :greuh

Ma question est donc la suivante : y a t-il un logiciel capable de gérer les requêtes externes sur des requêtes multi-tables ?

Merci m'sieurs dames :mrgreen: :gloup

Avatar du membre
laconfiote
Maître des clés
Maître des clés
Messages : 342
Enregistré le : 30 mars 2014, 19:02

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par laconfiote »

Tous les SGBD (gestionnaire de base de données mysql, db2, postgresql, oracle, ... ) ne couvrent pas ce type de jointure. Peux-tu nous en dire plus sur le SGBD concerné ?

Avatar du membre
Nicolas08
bientôt béatifié
bientôt béatifié
Messages : 2252
Enregistré le : 06 oct. 2016, 22:20
Localisation : Saint Marceau (08) - T@ 1987 BBR

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Nicolas08 »

C'est Microsoft Dynamics AX 2009.

J'ai téléchargé Universal Sql, ça marche, en tous cas je n'ai plus de message d'erreur, mais je ne dois pas réussir à bien coder car je n'ai pas le résultat obtenu.

J'ai l'impression d'être à deux doigts d'y arriver, c'est tellement frustrant :mrgreen:

Avatar du membre
Dremu
vous pourrit tous!
vous pourrit tous!
Messages : 1071
Enregistré le : 26 sept. 2016, 20:01
Localisation : RAMBOUILLET - T@89

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Dremu »

\o/ je ne connais pas MS query. Je suis plus familier de SQLServer voir Oracle. Après ça reste des requêtes SQL.
Je suis assez familier des requêtes en général et des systèmes d’information en particulier, mais la je t’avoue que, sans connaître le nom des tables et la structure de la BDD, ça risque d’être difficile de t’aider. :pasmafote
Est-ce que tu aurais un schéma expliquant la structure de ces tables? Est-ce que ta nomenclature multi-niveaux a un nombre de niveau fixe (en quel cas il pourrait y avoir une table par niveau) ou alors il peut y en avoir autant que tu veux?(en quel cas, le nombre de tables n’est probablement pas dépendant du nombre de niveaux?)
Si tu pouvais nous en dire plus, ça pourrait m’aider à t’aider ! :pasfou

Après, peut-être que d’autres ont la réponse directement sans se poser toutes ces questions??? :)

:signe

Avatar du membre
Nicolas08
bientôt béatifié
bientôt béatifié
Messages : 2252
Enregistré le : 06 oct. 2016, 22:20
Localisation : Saint Marceau (08) - T@ 1987 BBR

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Nicolas08 »

Non je pense que tu as raison, faut connaître la structure de l'ERP pour aiguiller.

En gros j'ai trois tables :

Une table articles dans laquelle sont répertoriés tous les articles, quel que soit leur niveau de nomenclature

Une table nomenclature, qui définit pour chaque numéro de nomenclature une liste d'articles

Et une table versions de nomenclature, qui associe chaque nomenclature à un ou plusieurs articles.

Par exemple,

J'ai les articles A, B, C, D et E
Les nomenclatures suivantes :
1=B+C
2=D
3=E
Et les versions de nomenclatures suivante A : 1, C : 2 et B : 3

Ça veut donc dire que A se compose de B et de C, que C se compose de D et que B se compose de E.

Je sais, une nomenclature à un seul article ça paraît bizarre, mais cest parce que dans notre ERP chaque étape de fabrication correspond à un article différent. Une pièce non finie sortie du moule = un premier article et la même pièce une fois ébavurée et usinée correspond à un autre article. Et la même pièce brute peut correspondre à 2 produits finis différents, suivant les opérations que l'on fait dessus par exemple.

Il n'y a pas de niveau de nomenclature fixe, mais le max que j'ai constaté est 5.

Sinon d'un point de vue technique, je crois que j'ai trouvé la solution qui consisterait à imbriquer plusieurs LEFT OUTER JOIN ensemble, mais les logiciels gratuits à ma disposition refusent tous de le faire lorsqu'il y a plus de 2 tables dans la requête... Possible ça sur SQL server ?

Avatar du membre
TRANSALP99
Apprenti dieu
Apprenti dieu
Messages : 542
Enregistré le : 22 janv. 2014, 10:14
Localisation : T@08

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par TRANSALP99 »

Bonjour,

sans être vraiment très connaisseur mais ayant eu quelques temps de pratique, j'ai toujours compris qu'au-delà de 2 tables, Excel ne peut plus aller plus loin (ou très acrobatique en gérant plusieurs fichiers). La solution reste Access qui peut gérer plusieurs tables à plusieurs niveaux de requêtes qui serait, il me semble, la solution de tes sous-produits. L'outils d'extraction que j'avais utilisé est ODBC avec le(s) lien(s) directe(s) permanent(s) dans la base source, (mais attention le risque à ce niveau est de modifier par erreur cette base source). Pour éviter cela, on importe ou faire la MAJ des tables automatiquement : ce que Access sait faire. En plus, Access peut proposer par défaut les liens entre les tables, ce que pourrait s'apparenter aux jointures des tables de la base source.

Comme je suis Hors Sujet parce-que tu parles de MSQUERY vers Excel, je me propose de :sors

Avatar du membre
Nicolas08
bientôt béatifié
bientôt béatifié
Messages : 2252
Enregistré le : 06 oct. 2016, 22:20
Localisation : Saint Marceau (08) - T@ 1987 BBR

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Nicolas08 »

Non sors pas :) merci de ton message même.

J'ai effectivement réussi à m'en sortir en combinant plusieurs fichiers EXCEL mais c'est le bordel, il faut les laisser au même endroit et avec le même nom sous peine de foutre un gros bordel, interdiction de modifier le nom des champs et il faut actualiser chaque fichier dans l'ordre d'arborescence pour avoir les bons résultats ... un nid à merde.

Je n'ai pas access au boulot mais je l'ai à la maison, je vais essayer de me faire des tables bidons pour voir si ça marche :mrgreen:

Merci !

Avatar du membre
Nicolas08
bientôt béatifié
bientôt béatifié
Messages : 2252
Enregistré le : 06 oct. 2016, 22:20
Localisation : Saint Marceau (08) - T@ 1987 BBR

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Nicolas08 »

HOURA !

T'avais raison, le problème vient d'Excel.

Access fonctionne nikel thx :respect

Merci !

Avatar du membre
TRANSALP99
Apprenti dieu
Apprenti dieu
Messages : 542
Enregistré le : 22 janv. 2014, 10:14
Localisation : T@08

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par TRANSALP99 »

Nicolas08 a écrit :HOURA !

T'avais raison, le problème vient d'Excel.

Access fonctionne nikel thx :respect

Merci !

Content pour toi. :wink:

Par contre, dès que tu commenceras à utiliser Access, ce logiciel est tellement magnifique et prenant qu’à un moment, tu risquerais de fabriquer plus de requêtes, des formulaires et autres éditions d’états en lieu et place de tes pièces. :roll:

\o/

Avatar du membre
Dremu
vous pourrit tous!
vous pourrit tous!
Messages : 1071
Enregistré le : 26 sept. 2016, 20:01
Localisation : RAMBOUILLET - T@89

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Dremu »

\o/
En fait,dans une base de données, tu peux faire autant de jointure que tu souhaites tant que tes clés correspondent. Après, c’est au niveau des temps d’exécution que ça risque de pêcher. Donc à priori, dans ton cas, c’est Excel qui bloque.
Je ne connais pas trop le requetage via excel, mais si il t’autorise juste des jointures entre deux tables, ne peux tu pas demander directement à ton dba de te créer une vue dans la BDD et Dans Excel, tu interroges directement cette vue?
:gloup

Avatar du membre
Nicolas08
bientôt béatifié
bientôt béatifié
Messages : 2252
Enregistré le : 06 oct. 2016, 22:20
Localisation : Saint Marceau (08) - T@ 1987 BBR

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Nicolas08 »

TRANSALP99 a écrit :Par contre, dès que tu commenceras à utiliser Access, ce logiciel est tellement magnifique et prenant qu’à un moment tu risquerais de fabriquer plus de requêtes, des formulaires et autres éditions d’états en lieu et place de tes pièces. :roll:

\o/
C'est vrai que le peu que j'en ai vu, il est super intuitif et convivial !
Dremu a écrit :\o/
En fait,dans une base de données, tu peux faire autant de jointure que tu souhaites tant que tes clés correspondent. Après, c’est au niveau des temps d’exécution que ça risque de pêcher. Donc à priori, dans ton cas, c’est Excel qui bloque.
Je ne connais pas trop le requetage via excel, mais si il t’autorise juste des jointures entre deux tables, ne peux tu pas demander directement à ton dba de te créer une vue dans la BDD et Dans Excel, tu interroges directement cette vue?
:gloup
Je suis perdu quand tu parles de demander au DBA de faire une vue dans la BDD... Kézako ?

Avatar du membre
Dremu
vous pourrit tous!
vous pourrit tous!
Messages : 1071
Enregistré le : 26 sept. 2016, 20:01
Localisation : RAMBOUILLET - T@89

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Dremu »

\o/
:-D désolé
Le DBA, c’est l’administrateur de la base de données. C’est souvent une personne du service informatique. La BDD, c’est la base de données.
Une vue, c’est Grosso merdo comme une table, mais qui est créée à partir des données de ta requête avec les différentes jointures. Elle est actualisée à chaque fois que tu exécute ta requête et comme c’est comme une table, tu peux l’interroger directement depuis Excel ou autre.
Donc il te faut trouver quelqu’un chez toi qui maîtrise l’ERP d’un point de vue technique, et qui puisse te faire ça. Sinon, tu peux passer par l’éditeur de l’ERP qui pourra peut-être te le faire.
:gloup

Avatar du membre
Nicolas08
bientôt béatifié
bientôt béatifié
Messages : 2252
Enregistré le : 06 oct. 2016, 22:20
Localisation : Saint Marceau (08) - T@ 1987 BBR

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par Nicolas08 »

Ah d'accord =) non ça ce n'est pas possible car personne ne sait le faire chez nous. Quant à faire appel à l'éditeur, vu le prix que ça coûte, on va essayer de se demerder autrement pour le l'instant. J'ai bon espoir avec Access :mrgreen:

Avatar du membre
TRANSALP99
Apprenti dieu
Apprenti dieu
Messages : 542
Enregistré le : 22 janv. 2014, 10:14
Localisation : T@08

Re: [HS] Des connaisseurs des REQUETES SQL ?

Message par TRANSALP99 »

Nicolas08 a écrit :Ah d'accord =) non ça ce n'est pas possible car personne ne sait le faire chez nous. Quant à faire appel à l'éditeur, vu le prix que ça coûte, on va essayer de se demerder autrement pour le l'instant. J'ai bon espoir avec Access :mrgreen:
100% d'accord avec toi, et pour cause, le paramétrage / intervention sur un ERP coûte un blinde, et le noyau (base du logiciel ERP) est chasse-gardé de l'éditeur. Souvent les intervenants d'un ERP ne sont pas l'éditeur lui même, alors que tu peux de te démerdouiller avec Access.

Si çà continue, les marchands de logiciels vont se retrouver au chômage. :mrgreen:

\o/

Répondre