这可能是一个简单的问题,但我缺乏对 SQL 的理解,并且似乎无法在其他地方找到我的答案。我有一个现有的解决方案,在从单个表中获取数据时可以正常工作,但是从两个表中获取时,当两者都包含相同的行名时,就会出现我的问题。这就是我所拥有的:
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();
...
}
我可以轻松获取大小和地址,因为这两个表不共享该行名称。但是 Team 和 Location 表都有一个名为 Name 的 Row,但我只得到 Team 表的 Name。以这种方式提取数据时如何获取位置名称?
我不知道这是否是从 SQL 服务器获取数据的不好方法,或者我是否应该使用 JOIN 来代替,但到目前为止,这对我来说效果很好。
非常感谢。