Bonjour,

Je rencontre un gros soucis, sur lequel je bloque depuis quelques heures ..

J'ai un dataset qui comporte 4 tables. J'ai une table principale qui comporte des éléments (dont une clé primaire) et 3 tables annexes. Les 3 tables sont indépendantes mais comportent des caractéristiques par rapport à la clé primaire de la table principale.

J'aimerais faire une requête qui récupére tous les enregistrements où
table1.cléprimaire = table2.ID && ( || ?)
table1.cléprimaire = table3.ID && ( || ?)
table1.cléprimaire = table4.ID && ( || ?)

J'ai tenté cette requête :
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
var requete = from A in table1.AsEnumerable()
                          //from C in table3.AsEnumerable()
                          join B in table2.AsEnumerable()
                             on A["TPLNR"] equals B["TPLNR"]
                          join C in table3.AsEnumerable()
                             on A["TPLNR"] equals C["TPLNR"]
                          //where A["TPLNR"] == B["TPLNR"] || A["TPLNR"] == C["TPLNR"]
                          join D in table4.AsEnumerable()
                             on A["TPLNR"] equals D["TPLNR"]
                          select new
                          {
                              BEBER = A.Field<string>("BEBER"),
                              EVENT = A.Field<string>("EVENT"),
                              UNIT_FROM = B.Field<string>("UNIT_FROM"),
                              VALUE_FROM = C.Field<string>("VALUE_FROM")
                          };
Cependant cela me retourne 0 enregistrement. Par contre si je laisse seulement une seule jointure entre A et B, ca fonctionne .. c'est la jointure multiple qui fonctionne pas

En sql je sais faire, mais j'ai du mal à traduire :/ J'ai regardé beaucoup de tuto, mais souvent pas de join multiple, ou alors leur solution ne fonctionne pas chez moi, je dois louper une étape ..

Merci !