Caml 多表关联查询
using (SPSite site = new SPSite(SiteUrl))
{
using (SPWeb web = site.RootWeb)
{
SPQuery query = new SPQuery();
//Joins属性,这里有INNER和LEFT两种方式连接,均可查询,而且支持多表连接;
query.Joins = "<Join Type='INNER' ListAlias='City'>" +
"<Eq>" +
"<FieldRef Name='Location' RefType='Id'/>" +
"<FieldRef List='City' Name='ID'/>" +
"</Eq>" +
"</Join>";
//设置关联的查阅项字段
query.ProjectedFields = "<Field Name='CustomCityID' Type='Lookup' " +
"List='City' ShowField='CityID'/>";
<Field Name='CustomMark' Type='Lookup' List='City' ShowField='Mark'/>";
//设置需要显示的字段
query.ViewFields = "<FieldRef Name='Title'/>" +
"<FieldRef Name='Location'/>" +
"<FieldRef Name='CustomCityID'/>";
"<FieldRef Name='CustomMark'/>"; SPList list = web.GetList(ListName);
SPListItemCollection itemcoll = list.GetItems(query);
foreach (SPListItem item in itemcoll)
{
SPFieldLookupValue Location = new SPFieldLookupValue(item["Location"].ToString());
SPFieldLookupValue CustomCityID = new SPFieldLookupValue(item["CustomCityID"].ToString());
Console.WriteLine("ID:" + item.ID.ToString() + " Title:" + item["Title"].ToString() + " Location:" + Location.LookupValue + " CustomCityID:" + CustomCityID.LookupValue);
}
}
} 9、同时为代码的ProjectedFields多添加Mark的字段属性,如下图: query.ProjectedFields =
"<Field Name='CustomCityID' Type='Lookup' List='City' ShowField='CityID'/>
<Field Name='CustomMark' Type='Lookup' List='City' ShowField='Mark'/>";
10、同时为显示属性加入CustomMark字段,如下图: query.ViewFields = "<FieldRef Name='Title'/>" +
"<FieldRef Name='Location'/>" +
"<FieldRef Name='CustomCityID'/>" +
"<FieldRef Name='CustomMark'/>";
输出添加CustomMark字段的值,如下: SPFieldLookupValue CustomMark = new SPFieldLookupValue(item["CustomMark"].ToString());
Console.WriteLine("CustomMark:" + CustomMark.LookupValue) 附:列表结构 列表一:City 字段:Title(默认字段,单行文本,作为Address关联的查阅项) CityID(数字类型,作为Address关联的查阅项) Mark(单行文本,作为多表查询的测试字段) 列表二:Address 字段:Title(默认) Location(查阅项,关联City列表的Title) CustomCityID(查阅项,关联City列表的CityID) 附:参考链接 http://social.msdn.microsoft.com/Forums/sharepoint/zh-CN/866a49fd-0656-4a8a-9e11-36eeb4401005/sharepoint-2010-caml-list-joins http://msdn.microsoft.com/zh-cn/library/microsoft.sharepoint.spquery.joins.aspx
Caml 多表关联查询的更多相关文章
- MSSQL N张表关联查询
declare @newTime varchar(50); declare @lasetTime varchar(50); set @newTime= getdate(); set @lasetTim ...
- RDIFramework.NET 中多表关联查询分页实例
RDIFramework.NET 中多表关联查询分页实例 RDIFramework.NET,基于.NET的快速信息化系统开发.整合框架,给用户和开发者最佳的.Net框架部署方案.该框架以SOA范式作为 ...
- 图解SQL多表关联查询
图解SQL多表关联查询 网上看了篇文章关于多表连接的,感觉很好,记录下来,以便日后自己学习 内连接 左连接 右连接 全外连接 1. 查两表关联列相等的数据 ...
- Oracle 数据库(oracle Database)Select 多表关联查询方式
Oracle数据库中Select语句语法及介绍 SELECT [ ALL | DISTINCT ] <字段表达式1[,<字段表达式2[,…] FROM <表名1>,<表名 ...
- ORACLE数据库多表关联查询效率问题解决方案
最近在做项目中遇到多表关联查询排序的效率问题(5张以上40W+数据的表),查询一次大概要20多秒,经过一番苦思冥想,处理方案如下: 1.软件设计初期,需要一对一关联的表应该设计在一张大表里,这样虽然字 ...
- mongodb操作之使用javaScript实现多表关联查询
一.数据控制 mongodb操作数据量控制,千万控制好,不要因为操作的数据量过多而导致失败. 演示一下发生此类错误的错误提示:
- ofbiz学习笔记01--多表关联查询
不管做什么项目,肯定会用到多表关联查询数据,从网络查询得知ofbiz有三种多表关联查询方法 实现一:Screem.xml 中的 section 里,加 <action>, 加 get-re ...
- JAVA入门[9]-mybatis多表关联查询
概要 本节要实现的是多表关联查询的简单demo.场景是根据id查询某商品分类信息,并展示该分类下的商品列表. 一.Mysql测试数据 新建表Category(商品分类)和Product(商品),并插入 ...
- MyBatis 多表关联查询
多表关联查询 一对多 单条SQL实现. //根据部门编号查询出部门和部门成员姓名public dept selectAll() thorws Excatipon; //接口的抽象方法 下面是对应接口的 ...
随机推荐
- httpHandlers path="*.sky"
<httpHandlers> <add verb="*" path="*.sky" type="WebAppHttpHandlerT ...
- LeetCode24-Swap_Pairs
swapPairs public ListNode swapPairs(ListNode head) { if(head==null ||head.next==null) return head; L ...
- zz深度学习在美团配送 ETA 预估中的探索与实践
深度学习在美团配送 ETA 预估中的探索与实践 比前一版本有改进: 基泽 周越 显杰 阅读数:32952019 年 4 月 20 日 1. 背景 ETA(Estimated Time of A ...
- MongoVUE(1.6.9.0)登录提示:Connection was refused的解决办法
日志文件上描述: UserNotFound Could not find user admin1@diva 2015-10-13T12:12:22.208+0800 I NETWORK [conn1] ...
- 单交换机VLAN划分(基于Cisco模拟器)
实验目的: (1)掌握交换机配置的几种模式及基本配置命令. (2)掌握VLAN的原理及基于交换机端口的VLAN划分方法. 实验设备: 交换机一台,主机四台,直通线四根 实验步骤: 1.给交换机划分VL ...
- SQL Server 迁移数据库 (二)分离和附加
分离和附加其实比导入和导出,步骤要少一些,但是数据量大的话,跨服务器拷贝数据文件可能要慢一些 1. 分离数据库 这里最好选择断开链接,断开之前要确保你记得数据库的路径,一般默认都是C:\Program ...
- requests--重定向,序列化
重定向 默认情况下,除了 HEAD, Requests 会自动处理所有重定向.可以使用响应对象的 history 方法来追踪重定向. Response.history 是一个 Response 对象的 ...
- DP问题(3) : hdu 1080
题目转自hdu 1080,题目传送门 题目大意: 不想翻译! 解题思路: 其实就是一道变异的求lcs(Longest common subsequence 最长公共子序列)的题 不过,它的依据是下面这 ...
- Salesforce 开发整理(九) 开发中使用的一些小技巧汇总[持续更新]
1.查询一个对象下所有字段 当需要查询一个对象所有字段进行复制或其他操作,可以使用一段拼接的语句来查询 String query = 'select '; for(String fieldApi : ...
- phpredis可视化工具RedisDesktopManager
phpredis可视化工具RedisDesktopManager这个管理phpredis还不错下载地址https://redisdesktop.com/download刷新数据可以右键db0 relo ...