使用SP 2007并且需要进行连接时,我只需将表写入sql表,然后使用sql连接表。 我真正需要做的很简单。 我有一个主列表和另一个用户插入记录的列表,让我们说一个子列表。 当用户打开主列表并单击某个项目时,我会将包含其用户名的记录插入子列表 所有我想要显示的用户(基于登录名)是他们没有阅读的项目和什么项目。 在sql我可以做类似的事情
Select * from master where not in(select from child where username ='blalal')
任何想法。不确定是在客户端还是在对象模型中执行此操作。 当然CAMl没有连接
提前致谢
答案 0 :(得分:3)
只要两个列表与查找字段相关,就可以在CAML查询中进行连接。
答案 1 :(得分:0)
或者您可以使用Bendsoft的Camelot .NET Connector来加入任何字段。它支持典型的CRUD命令,包括LEFT和INNER连接以及UNION。
答案 2 :(得分:0)
检查此方法非常容易加入任意数量的列表:Link
cawl_QueryBuilder cawl = new cawl_QueryBuilder();
cawl.Select("Users_Title");
cawl.Select("Users_Age");
cawl.Select("Users_Sex");
cawl.Select("CarBrand");
cawl.Join("UsersList";"OwnerColumn");
cawl.Get('UserCarsList');
StringBuilder Result = new StringBuilder();
foreach (SPListItem item in cawl.ListItemCollection())
{
Result.Append(item["Users_Title"].ToString() +
item["Users_Age"].ToString() +
item["Users_Sex"].ToString() +
item["CarBrand"].ToString());
}
Label1.Text = Result .ToString();