これはおそらく簡単な質問ですが、SQL の理解が不足しており、他の場所で答えを見つけることができないようです。1 つのテーブルからデータを取得するときに問題なく動作する既存のソリューションがありますが、2 つのテーブルから取得するときに、両方に同じ行名が含まれていると、問題が発生します。これは私が持っているものです:
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();
...
}
2 つのテーブルがその行名を共有していないため、サイズとアドレスを簡単に取得できます。ただし、Team テーブルと Location テーブルの両方に Name という行がありますが、Team テーブルの Name しか取得できません。この方法でデータを抽出するときに場所の名前を取得するにはどうすればよいですか?
これが SQL サーバーからデータを取得する悪い方法なのか、代わりに JOIN を使用する必要があるのか はわかりませんが、これまでのところ、これはうまく機能しています。
どうもありがとう。