文章类 软件类
好好999
站内搜索
 | 网站首页 | 网站建设 | 点滴人生 | 软件下载 | 站长必备 | 
您现在的位置: 好好888 >> 网站建设 >> 数据库 >> 数据库技术 >> 正文
专 题 列 表
最 新 热 门
更多
最 新 推 荐
更多
栏 目 推 荐
载入中…
SQL Artisan多层查询条件嵌套功能         ★★★
SQL Artisan多层查询条件嵌套功能
作者:佚名 文章来源:本站整理 点击数: 更新时间:2008-5-14 19:49:36

在实际开发过程中我们经常面对一些查询或统计子表信息,对于一层处理还是比较简单,如果二层、三层等或更多时这个时候编写出来的条件就比较复杂和容易出现编写错误的情况。SQL Artisan字段对象除了提供灵活的比较运算功能外,对象的In方法还提供N层条件嵌套的功能,让你在构造查询条件更灵活。

以MSSQL的NorthWind为例:

查询指定雇员在某段时间的销售金额。

处理的表:Employees,Orders,Order Details

在实现过程可以通过表关联查询或直接对目标表进行查询,对目标表直接进行查询就必须把父表的条件以嵌套的方式添加到当前查询条件中。

Employee.Employee->Orders.OrderDate-> Sum(Order Details)作一个反向条件嵌套。

以下是两种查询方法在SQL语句和SQL Artisa组件下的实现。

(代码只是用于表达SQL Artisan组件的功能,对于SQL语句本身存在的其他问题不作讨论)

SQL方法一:

       SELECT Sum(UnitPrice*Quantity*(1-Discount)) FROM Employees INNER JOIN Orders ON Employees.EmployeeID=Orders.EmployeeID INNER JOIN [Order Details] ON Orders.OrderID=[Order Details].OrderID  where ( ( Employees.EmployeeID = 3 And Orders.OrderDate >= '1997-7-1' )  And Orders.OrderDate <= '1997-8-1')

 

SQL Artisan方法一:

       query = session.CreateQuery(Employees.TBL.INNER(Orders.TBL,Orders._EmployeeID)&

                       Orders.TBL.INNER(OrderDetails.TBL,Orders._OrderID));

query.Selects= new FieldAdapter[]{SqlMath.Sum(OrderDetails._UnitPrice*OrderDetails._Quantity*(1-OrderDetails._Discount))};

     query.Expreesion = Employees._EmployeeID.At(Employees.TBL) ==3 &

[1] [2] [3] 下一页

文章录入:admin    责任编辑:admin 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
  • 上一篇文章:

  • 下一篇文章:
  • 相 关 文 章
    分享:我的oracle9i学习笔记(二)
    分享:我的oracle9i学习笔记(三)
    一个Mysql C API小型封装…
    Sql server 2005的XML最佳实施策略(1)…
    Sql server 2005的XML最佳实施策略(2)…
    Sql server 2005的XML最佳实施策略(3)…
    Sql server 2005的XML最佳实施策略(4)…
    sql server 2005 排序规则与大小写敏感…
    Sql server数据库不能启动常见故障…
    在Windows下管理Oracle9i服务
    Oracle 10g存储过程远程SQL注入漏洞…
    两台Sql server数据同步…
    SQL Server中发送邮件的新方式…
    SQL Server:错误18483…
    SQL2005其中三个版本的比较
    远程连接sql server 2000服务器的解决方案…
    如何自动发布MS SQL SERVER数据库…
    .NET基础知识-什么是.NET
    分享:Sql server 2005数据库安装心得…
    Mysql数据库的操作类(已封装)
     网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 关于本站 | 设为首页 | 加入收藏 | 站长邮箱 | 友情链接 | 网站公告 | 版权申明 | |
    copyright:haohao888.com.cn