有如下两张表: 表A: 字段名:a1、a2、a3、a4 值: 1 1 a b 2 2 c d 表B: 字段名:b1、b2 值: 1 m 1 n 2 j 2 k 表A的a2和表B的b1是关联的。 现在我想取出表A的所有字段值(其中表A的a2字段取出的是b2) 这样的SELECT的语句应该怎么样写啊? 我想实现的效果为: 字段名:a1 a2 a3 a4 值: 1 m,n a b 2 j,k c d
建立一个这样的对象
public class A{
public string a1{get;set;}
public string a2{get;set;}
public string a3{get;set;}
public string a4{get;set;}
public ArrayList SubItems{get;set;}//存放所有相关的B
public string GetJoinedB();//将存放的所有的B拼接成字符串输出
}
public class B{
public string b1{get;set;}
public string b2{get;set;}
}
自制一个IDictionary 作为A的容器AContainer,此IDictionary会忽略重复的键,类似于Session
查询A表和B表的连接,取出每条记录放入A对象,再将A对象放入Container,以A.a2作为key,象这样:
IDictionary AContainer=new xxx();
AContainer.Add(A.a2,A);
然后取出与B相关的字段,放入B对象。在A的容器中找到B应该属于的A,将B加入A的SubItems集合
B b=xxxx....;
((A)(AContainer[b.b2])).SubItems.Add(b);
然后依次调用AContainer中A的属性和方法就搞定了。