Cette question est probablement facile, mais je manque de compréhension de SQL, et ne peux pas sembler trouver ma réponse ailleurs. J'ai une solution existante qui fonctionne bien lorsque j'obtiens des données d'une seule table, mais lorsque je reçois deux tables, quand les deux contiennent le même nom de ligne, mon problème se produit. C'est ce que j'ai:Obtenir des données à partir de plusieurs tables avec MysqlReader
string Query="SELECT * FROM `Teams`,`Locations` WHERE Teams.LocationId=Locations.LocationId;";
OpenConnection();
MySqlCommand MysqlCommand=new MySqlCommand(Query,MysqlConnection);
MysqlReader=MysqlCommand.ExecuteReader();
while (MysqlReader.Read()) {
...
Team.Size=MysqlReader["Size"].ToString();
Location.Address=MysqlReader["Address"].ToString();
Team.Name=MysqlReader["Name"].ToString();
Location.Name=MysqlReader["Name"].ToString();
...
}
La taille et l'adresse je peux facilement chercher parce que les deux tables DonT partager ce nom de ligne. Mais la table Team et Location a une ligne appelée Name, mais je reçois uniquement le nom des tables d'équipe. Comment obtenir le nom des emplacements lors de l'extraction de données de cette façon? Je ne sais pas si c'est une mauvaise façon d'obtenir des données d'un serveur SQL, ou si je devrais utiliser JOIN à la place, mais jusqu'à présent cela a fonctionné très bien pour moi.
Merci beaucoup.
« ou si je devrais utiliser à la place JOIN » - vous utilisez rejoindre déjà. C'est juste une autre variante de syntaxe de jointure interne. – Dennis