报表查询sql
① 用sql语句怎样查询汇出汇款统计报表的查询
#必须指明表结构
SELECT*FROMtb_name
#使用子查询
SELECT*FROM(SELECT*FROMtb_nameWHEREcondition)WHEREcondition
#高迟灶级查询
#A:UNION运算符
#UNION运算符通过组合其他两个结果表(例如TABLE1和TABLE2)并消去表中任何重复行而派生出一个棚喊结果表。当ALL随UNION一起使用时(即UNIONALL),不消除重复行。两种情况下,派生表的每一行不是来自TABLE1就是来自TABLE2。
#B:EXCEPT运算符
#EXCEPT运算符通过包括所有在TABLE1中但不在TABLE2中的行并消除所有重复行而派生出一个结果表。当ALL随EXCEPT一起使用时(EXCEPTALL),不消除重复行
#C:INTERSECT运算符
#INTERSECT运算符通过只包括TABLE1和TABLE2中都有的行并消除所有重复行而派生出一个结果表。当ALL随INTERSECT一起使用时(INTERSECTALL),不消除重复行。
#注:使用运算词的几个查询结果行必须是一致的。
#外连接
#A、leftouterjoin:
#左外连接(左连接):结果集既包括连接表的匹配行,也包括左连接表的所有行。
#B:rightouterjoin:
#右外连接(右连接):结果集既包括连接表的匹配连接行,也包括右连接表的所有行。
#C:full链旦野outerjoin:
#全外连接:不仅包括符号连接表的匹配行,还包括两个连接表中的所有记录。
② 如何在报表预览情况下,查看sql语句
SQL 创建工具:视觉化 SQL 创建工具创建和编辑查询或视图,不必担心语法和配察正确命令的用法。选择需要在表中执行的操作,自动编写 SQL 语句。
关于预览工具的使用,在Navicat官网有比较详细的说明。
Navicat for MySQL 如何预览报表
Navicat for MySQL 预览选项卡包含所呈现的报表。预览表单可以使用户控制及查看报表输出。一个页节点的大纲显示在表单的左边,在页面查看器旁边。使用“打印”按钮可传送报表输和芦出到打印机或到一个培棚茄输出文件,例如 PDF。
创建“搜索报表”,在“查询设计器”启用“自动搜索”选项,如下图所示。
点击“搜索数据”图标来输入搜索准则,如下图所示。
关于预览打印:
预览和打印模型
Navicat for MySQL 要预览打印前的页面,点击“预览打印”按钮,该模型可以打印到打印机或各种文件格式。
③ 怎么查询SQL数据库的历史数据,并调用出来做报表
SQL关键字 where,类型转换Convert
历史数据,多久后的数据,假如有表A,有2个字段a,b
a 为int 类型,b 为日期类型
转换日期以及日期范围SQL 如下:
select * from A where b between convert(datetime,'2015-08-01 08:08:08' ) and convert(datetime,'2015-08-01 08:12:08')
以上SQL 就是查询历史记录,日期为'2015-08-01 08:08:08'与 '2015-08-01 08:12:08'
之间的数据
创建报表可以通过MicrosoftSQLServer2008R2中的创建,也可以在Microsoftvisualstudio中通过使用ReportView控件来创建报表。本实例采用MicrosoftSQLServer2008R2中的创建报表。
创建报表服务器项目
在制作报表之前,要先创建一个报表服务器项目,在其中可以存放若干报表供用户调用。在中创建报表服务器项目的操作步骤如下。
选择【开始】|【所有程序】|【MicrosoftSQLServer2008R2】|【】,启动商业智能开发环境。在菜单栏中选择【文件】|【新建】|【项目】命令,弹出【新建项目】对话框。在【项目类型】列表中选择【商业智能项目】选项,在【模板】列表中选择【报表服务器项目向导】选项,在【名称】文本框中输入【报表项目4】,单击【确定】按钮以创建项目。
④ 如何查看一个SCCM报表的SQL语句
可以通过count函数来实现。
sqlOne:select * from tablename1 where id>5;此语句查询出来清宴逗多条记录,之后看做一个新的表。
sqlTwo:select conut(*) from (select * from tablename1 where id>5) as tablename2;此语句即可查询出来统祥游计的记录条数。
备注:以答卖上方法通用于所有的数据统计,如果是单表查询,可以直接通过:“select count( *) from tablename1 where id>5"的形式查询出结果。
⑤ 用SQL查询报表
#我看了你的描述,也没给出表与表之间的关系和字段,以我的理解后,写出以下sql语句,经过测试,可以执行成功
#FeeTable:生活费表包含(学生信息表)也就是外键
#Student:学生信息表包含(班级信息表)也就是外键
#Greade:班级信息表
select
s.nameas学生名称,
g.nameas班级名称,
s.genderas学生性别,
s.teacheras招生老师,
f.liveFeeDateas生活费日期,
f.liveFeeas生活费,
f.sleepFeeDateas住宿费日期,
f.sleepFeeas住宿费,
fareFeeDateas校车费日期,
fareFeeas校车费,
(f.liveFee+f.sleepFee+fareFee)as费用合计
.id=f.studentinnerjoinGreadegons.greade=g.id
groupbys.name,g.name,s.gender,s.teacher,f.liveFeeDate,f.liveFee,f.sleepFeeDate,f.sleepFee,fareFeeDate,fareFee
以上SQL语句要结合你的表结构来适当调整表名、字段、和关联。
希望能帮到你!
⑥ 如何在水晶报表中实现SQL 查询
给你一个例子 基本可以传递参数 到水晶报表 可以查询 并且可以将参数字段显示为你需要的值
以前采用vb6做的动态传递水晶报表参数字段,存在一个缺陷就是在设计水晶报表的时候没有按照注释的那里写的(直接拖参数字段到预览的界面)就不会出现水晶报表提示要输入离散值的消息框。其实也不完全是这样的,有时我按照这种方式操作仍然有这个输入离散值消息框的提示,具体是什么原因造成的还不是很清楚,估计开发水晶报表的明白内部机制的友扰原因,我只想能顺畅的使用就可以了,可出现不相关的输入提示就直接影响到客户使用程序。
我在做DotNet2005时用的是水晶报表10,在传递参数后。有加入了设置显示报表控件的参数对象集合为传递的参数值【CRViewer91.ParameterFieldInfo = m_Report.ParameterFields 】运行程序就没有这个输入离散值的提示。vb6使用水晶报表9.0不知道加入这个设置是否能解决问题。暂时我还没有条件测试主要是计算机上没有安装水晶报表9,不过也是一种解决这个问题的办法哗蚂。先在这里保存起来,待有条件了测试下,没有这条语句可能在设计报表rpt文件的时候和程序动态调用可就要来乱告埋回的测试了 。 哈~~~~~~
Private Sub DisplayReport1()
'' ==========================================================
' 开发人员:段利庆
' 编写时间:2008-09-01
' 过程名称:DisplayReport
' 参数说明:
' 功能说明:动态载入水晶报表文件(*.rpt)显示打印预览
'
' 其他说明:程序采用的是Crystal Reports 9.1版本
' 工程引用:Crystal Reports 9 ActiveX Designer Design and Runtime Library
' 控件:CRViewer91
'
'
'' ==========================================================
'*中央错误处理
On Error GoTo PROC_ERR
Dim m_Application As New CRAXDDRT.Application
Dim m_Report As CRAXDDRT.Report
Dim strSQL As String
strSQL = "SELECT * FROM 视图_收费_计量仪表 "
Dim strRptPath As String
strRptPath = App.Path & "\Crystal_RPT_Para\Sell_Meter.rpt"
Debug.Print "strRptPath:" & strRptPath
Set m_Report = Nothing
Set m_Report = m_Application.OpenReport(strRptPath, 1)
'*防止弹出水晶报表数据库登录对话框
m_Report.Database.Tables.Item(1).TestConnectivity
m_Report.Database.Tables.Item(1).ConnectBufferString = objdata.ConnectionString
m_Report.SQLQueryString = strSQL
'****************************************************
'*参数字段传递参数
'*
'*搞了2天了终于找到原因了 08-09-03
'*1.在新建一个参数字段,一定要直接拖放到预览里面
'* 否则拖到设计里面就要弹出输入离散值的消息框
'*
'*2.GetItemByName("MyParaT") 参数是参数字段的名称
'*
m_Report.DiscardSavedData
m_Report.ParameterFields.GetItemByName("MyParaT").ClearCurrentValueAndRange
m_Report.ParameterFields.GetItemByName("MyParaT").AddCurrentValue (Text1.Text)
m_Report.ParameterFields.GetItemByName("k1").ClearCurrentValueAndRange
m_Report.ParameterFields.GetItemByName("k1").AddCurrentValue (Text1.Text)
m_Report.ParameterFields.GetItemByName("k2").ClearCurrentValueAndRange
m_Report.ParameterFields.GetItemByName("k2").AddCurrentValue (Text1.Text)
'*-----------------------------------------------------
'* 以下这句是否能彻底解决弹出离散值输入框问题
'*是根据vb2005 Crystal Report10 顺畅的处理结果得出的
'*2009-08-26
'CRViewer91.ParameterFieldInfo = m_Report.ParameterFields
'*传递的对象 用下面的语句
'*Set CRViewer91.ParameterFieldInfo = m_Report.ParameterFields
'*-----------------------------------------------------
'****************************************************
CRViewer91.DisplayGroupTree = False
CRViewer91.ReportSource = m_Report
CRViewer91.Zoom 1
CRViewer91.ViewReport
'*结束子程序
PROC_EXIT:
Exit Sub
'*错误处理,显示出错信息
PROC_ERR:
MsgBox " ErrNumber: " & Err.Number & vbCrLf & _
"ErrDescription: " & Err.Description & vbCrLf & _
" Mole: " & Me.Caption & vbCrLf & _
" Procere: " & "DisplayReport"
GoTo PROC_EXIT
End Sub
⑦ 如何用sql查询获取表得信息
问题:
1、怎样读取access系统表msysobject?
2、如何从系统表中获取用户表的表结构信息,包括有哪些用户表以及各表的字段信息(字段名、类型、长度、是否允许为空,等等)、主外键约束等。
3、如何用sql查询获取表得信息,包括有哪些用户表以及各表的字段信息(字段名、类型、长度、是否允许为空,等等)、主外键约束等。
答案:
1、请参考access911以下文章《新手必看:如何才能操作名为MSysObjects的表?》
http://access911.net/index.asp?board=4&mode=3&recordid=71FAB11E11DC
2、access可以供通过查询系统表msysobject得到系统中所有表的表名以及表的类型,但无法丛搏得到表的信息,包括表的字段信息(字段名、类型、长度、是否允许为空,等等)、主外键约束等。
你可以参考渗宴祥access911以下文章:
祥早《怎样使用一个查询获得数据库对象的名称(查询/窗体/表/报表/模块/宏)?》
http://access911.net/index.asp?board=4&mode=3&recordid=71FAB71E12DC
《ado如何取得表的所有字段信息?》
http://access911.net/index.asp?board=4&mode=3&recordid=74FAB11E10DC
3、到目前为止(access XP),直接通过 jet sql 来查询表名可以,但无法得到表的信息包括表的字段信息(字段名、类型、长度、是否允许为空,等等)、主外键约束等。
⑧ SQL开发报表设置查询条件
SQL 语句只是对数据库进行操作,与用户的交互操作很少,比如窗口、按钮、下拉菜单等等控件。
所以数据库应用程序开发,还需要一门程序数据语言配合数据库开发。比如C++,PB等等。
⑨ excel使用sql语句查询功能.
在宏编辑界面中进行SQL数据查询以及生成报表的代码如下:
Sub Static()
Dim objNewWorkbook As Workbook '定义一个Workbook对象
Set objNewWorkbook = Workbooks.Add(ThisWorkbook.Path & "模板.xlt") '使用模板文件新建一个EXCEL报表生成文件
Set objConnection = CreateObject("ADODB.Connection") '创建一个ADO连接
objConnection.Open "Provider=Microsoft.Jet.Oledb.4.0;Extended Properties='Excel 8.0;Hdr=yes;Imex=1';Data Source=" & ThisWorkbook.FullName '设置连接字符串
strCommand = "select 施工人, count(*) as 拆电话 from [" & Sheet1.Name & "$] where 施工动作 = '拆' and 专业类型 = '电话' group by 施工人" '查询表单一中的数据源进行统计
?objNewWorkbook.Sheets(1).Range("A3").CopyFromRecordset objConnection.Execute(strCommand)
2.将查询统计结果输出到目的报表文件的表单1的从A3开始的区域中
3.下面代码是调用EXCEL的排序方式进行汉字排序,这里SQL语句中的排序对于汉字排序与期望结果不同
4.使用EXCEL中的排序方法是根据EXCEL版本不同调用有所区别
Select Case Application.Version
Case "11.0":
objNewWorkbook.Sheets(1).Range("A3:M" & CStr(intSumRow - 1)).Sort Key1:=objNewWorkbook.Sheets(1).Range("A3"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, SortMethod _
:=xlPinYin, DataOption1:=xlSortNormal
Case "12.0":
objNewWorkbook.Sheets(1).Sort.SortFields.Clear
objNewWorkbook.Sheets(1).Sort.SortFields.Add Key:=Range("A3:A" & CStr(intSumRow - 1)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With objNewWorkbook.Sheets(1).Sort
.SetRange Range("A2:M" & CStr(intSumRow - 1))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Case Else
End Select
objConnection.Close
End Sub
⑩ 如何运用SQL进行双向表头报表查询
可以先将原始数据按照存款的区间和类别进行一次分组:SELECT TYPE, CASE WHEN BAL < 50000 THEN '5万元以下'WHEN BAL BETWEEN 50001 AND 100000 THEN '5-10万'WHEN BAL BETWEEN 100001 AND 200000 THEN '10-20万'WHEN BAL BETWEEN 200001 AND 300000 THEN '20-30万'WHEN BAL BETWEEN 300001 AND 400000 THEN '30-40万'WHEN BAL BETWEEN 400001 AND 500000 THEN '40-50万'WHEN BAL > 500000 THEN '50万以上'END AS BAL_RANGE,BAL, AGE, COUNT(*) COUNT_B FROM C_CUST_AGE WHERE DEPT_ID = ? AND TYPE = ? GROUP BY TYPE, AGE, BAL