Requete SELECT * sur plusieurs tables [Résolu]

Signaler
Messages postés
52
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
12 mai 2008
-
Messages postés
59
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
1 décembre 2013
-
bonjour,

J'ai une base de données que j'exploite avec une appli en VB.NET.
Lorsque j'utilise une requête genre " SELECT * FROM t_MaTable;" tout fonctionne parfaitement (avec DataSet, DataAdapter..., en objet Oledb et non pas sql).
Mais lorsque je veux sélectionner tous les éléments de deux tables, le DataSet ne se rempli qu'avec la dernière table mentionné dans la requête :
SELECT * FROM t_MaTable1 , t_MaTable2;"
Même résultat si j'inclus dans ma requête les relations avec INNER JOIN..
N'étant pas spécialiste SQL je me dis que quelquechose cloche dans ma requête.

Quelqu'un a-t-il une idée pour résoudre mon problème ? Merci d'avance

7 réponses

Messages postés
4822
Date d'inscription
lundi 11 novembre 2002
Statut
Membre
Dernière intervention
15 novembre 2016
12
Salut,

Je pense qu'il va te falloir 2 Requête avec un seul RecordSet...je pense...

A+
Exploreur

 Linux a un noyau, Windows un pépin
Messages postés
1402
Date d'inscription
mardi 1 mai 2007
Statut
Membre
Dernière intervention
7 octobre 2012
5
Salut ,
tu énumères les champs à selectionner, au lieu de *

//Sans jointure
SELECT Table1.Chp11, Table1.Chp12, Table2.Chp21, Table2.Chp22
FROM Table1, Table2;

//Avec jointure
SELECT Table1.Chp11, Table1.Chp12, Table2.Chp21, Table2.Chp22
FROM Table1 INNER JOIN Chp11 ON Table1.Chp11 = Table2.Chp11;
Messages postés
52
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
12 mai 2008

C'est ce que j'utilise pour palier mon soucis Je rempli deux DataTable différents pour récupéré mes données et je lance deux requêtes. Mais cela ne facilite pas la programmation de mon affaire.
Messages postés
249
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
2 mai 2014

Tu peux utiliser un SELECT INTO cette requête crée une table temp en sortie.

SELECT * INTO table_temp From table1, table2;
Messages postés
41
Date d'inscription
dimanche 28 mai 2006
Statut
Membre
Dernière intervention
20 janvier 2009

Salut,

Si ton application ne va pas trop loin dans l'exploitation d'une base sql, tu peux aussi passer par l'outil graphique de VS en glissant tes éléments. 
Toutes les tables sont alors chargées dans le même dataset.
Messages postés
52
Date d'inscription
mercredi 4 août 2004
Statut
Membre
Dernière intervention
12 mai 2008

En fait en potassant des bouquins sur le sujets, il s'avère que .. c'est plutôt complexe, on sy' prend en plusieurs fois pour récupérer les données dans plusieurs DataTable d'un même DataSet. L'idéal par la suite est de créer les jointures avec des DataRelation.
(Je travaille en mode déconnecté.. )
Merci pour les pistes
Messages postés
59
Date d'inscription
samedi 13 octobre 2007
Statut
Membre
Dernière intervention
1 décembre 2013

Il faut faire une joinyure entre les deux tables