Foxtable(狐表)用户栏目专家坐堂 → Select 语句


  共有2054人关注过本帖树形打印复制链接

主题:Select 语句

帅哥哟,离线,有人找我吗?
cd_tdh
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
Select 语句  发帖心情 Post By:2019/8/27 14:39:00 [显示全部帖子]

老师,下面这个语句,我需要增加一个条件,[经营状态]='正常' ,加到哪儿呢?
Sel  ect  {分支机构管理}.所属机构,经营状态,中标金额,中标日期,项目名称 From{分支机构管理}  Left JOIN (sel  ect * from {中标统计}  where [中标日期] > 2019-01-01) a ON a.[所属机构] = {分支机构管理}.[所属机构]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/8/27 14:55:00 [显示全部帖子]

老师,这样出来生存的柱状图机构名称哪儿有重叠,先判断{分支机构管理}的经营状态怎么修改呢?

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/8/27 15:09:00 [显示全部帖子]

投标统计里面统计了含经营状态到期的,但是中标统计里面只统计了经营状态正常的,生成的柱状图下面所属机构是模糊的

 投标统计:

代码如下:

    '图表,本年中标情况

    Dim d1 As  Date = Date.today.year & "-" & 1 & "-" & 1  '当年
    Dim cmd7 As New SQLCommand
    Dim dt7 As DataTable
    cmd7.CSel  ect {分支机构管理}.所属机构,经营状态,项目编码,项目名称,报名日期 From {分支机构管理} Left JOIN (se lect * from {报名登记表} where [报名日期] > '" & d1 & "') a ON a.[所属机构] = {分支机构管理}.[所属机构]" 
    dt7 = cmd7.ExecuteReader()
    Dim Chart  As WinForm.Chart  '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Dim tbl As DataTable =  dt7 '定义一个变量tbl引用数据表
    Dim lst As List(Of String) = tbl.GetValues("所属机构") '获得产品名称集合
    Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
    Chart.ChartType = ChartTypeEnum.Bar '图表类型该为Bar(条形),不加这一句为折线图
    Chart.SeriesList.Clear() '清除图表原来的图系
    Chart.AxisY.Text = "投标数量(个)"
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = lst.Count '设置图系的长度
    For i As Integer =  0  To lst.Count -  1  '指定每个数据点的位置
        Series.X(i) = i '指定水平坐标
        Series.Y(i) = val(tbl.Compute("Count(项目编码)","[所属机构] = '" & lst(i) & "'"))  '指定垂直坐标
        Chart.AxisX.SetValueLabel(i, lst(i))  '指定字符表示
        Series.DataLabelText = "{#YVAL}"  '显示Y轴的值
        Series.DataLabelCompass = LabelCompassEnum.North  '标识的位置
    Next
    Chart.AxisX.AnnoRotation = - 45 'X轴文字角度
    Chart.AxisX.AnnoWithLabels = True '启用字符标示


图片点击可在新窗口打开查看此主题相关图片如下:投标统计.png
图片点击可在新窗口打开查看

 

中标统计:代码如下:

    Dim d1 As  Date = Date.today.year & "-" & 1 & "-" & 1  '当年
    Dim cmd5 As New SQLCommand
    Dim dt5 As DataTable
    cmd5.CSele ct {分支机构管理}.所属机构,经营状态,中标金额,中标日期,项目名称 From{分支机构管理} Left JOIN (sel ect * from {中标统计}  where [中标日期] > '" & d1 & "') a ON a.[所属机构] = {分支机构管理}.[所属机构] where [经营状态]='正常'"
    dt5 = cmd5.ExecuteReader()
    Dim Chart  As WinForm.Chart  '定义一个图表变量
    Dim Series As WinForm.ChartSeries '定义一个图系变量
    Dim tbl As DataTable =  dt5 '定义一个变量tbl引用数据表
    Dim lst As List(Of String) = tbl.GetValues("所属机构") '获得产品名称集合
    Chart = e.Form.Controls("Chart1") ' 引用窗口中的图表
    Chart.ChartType = ChartTypeEnum.Bar '图表类型该为Bar(条形),不加这一句为折线图
    Chart.SeriesList.Clear() '清除图表原来的图系
    Chart.AxisY.Text = "中标金额(万元)"
    Series = Chart.SeriesList.Add() '增加一个图系
    Series.Length = lst.Count '设置图系的长度
    For i As Integer =  0  To lst.Count -  1  '指定每个数据点的位置
        Series.X(i) = i '指定水平坐标
        Series.Y(i) = cint(val(tbl.Compute("Sum(中标金额)","[所属机构] = '" & lst(i) & "'")) / 10000) '指定垂直坐标,cint(保留整数)
        Chart.AxisX.SetValueLabel(i, lst(i))  '指定字符表示
        Series.DataLabelText = "{#YVAL}"  '显示Y轴的值
        Series.DataLabelCompass = LabelCompassEnum.North  '标识的位置
    Next
    Chart.AxisX.AnnoRotation = - 45 'X轴文字角度
    Chart.AxisX.AnnoWithLabels = True '启用字符标示


图片点击可在新窗口打开查看此主题相关图片如下:中标统计.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/8/27 15:13:38编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/8/27 15:14:00 [显示全部帖子]

以下是引用有点蓝在2019/8/27 15:13:00的发言:
没看懂。下面所属机构是模糊的是神马意思

看不清所属机构啊,

 

生成新的图系前也清除了原来图系,但就是有重影一样,比如中标统计最后一个机构应该是总公司,却有个内蒙古分公司重影在上面

[此贴子已经被作者于2019/8/27 15:18:36编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/8/28 13:30:00 [显示全部帖子]

老师还是第一个问题,如果所属机构有重复的只取一个,怎么写呢?

Sel ect {分支机构管理}.所属机构,经营状态,中标金额,中标日期,项目名称 From{分支机构管理} Left JOIN (sel ect * from {中标统计} where [中标日期] > 2019-01-01) a ON a.[所属机构] = {分支机构管理}.[所属机构]


找了一下帮助,这样吗?

Sel ect {分支机构管理}.DISTINCT 所属机构,经营状态,中标金额,中标日期,项目名称 From{分支机构管理} Left JOIN (sel ect * from {中标统计} where [中标日期] > 2019-01-01) a ON a.[所属机构] = {分支机构管理}.[所属机构]
[此贴子已经被作者于2019/8/28 13:57:28编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/8/28 15:23:00 [显示全部帖子]

分支机构管理表的所属机构列,取不重复值。

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/8/29 9:07:00 [显示全部帖子]

分支机构管理 表 截图:


图片点击可在新窗口打开查看此主题相关图片如下:分支机构管理.png
图片点击可在新窗口打开查看 

 

中标登记表  截图:


图片点击可在新窗口打开查看此主题相关图片如下:中标登记表.png
图片点击可在新窗口打开查看

 

目前的代码:生产的统计表  如下:(要求:红框内的承包起始日期应该为:第一个云南分公司(2017.10.1 - 2018.09.30),经营状态为:到期),应该怎么修改??

Se lect DISTINCT {分支机构管理}.所属机构,经营状态,中标金额,中标日期,项目名称 From{分支机构管理} Left JOIN (se lect * from {中标统计}  where [中标日期] > '" & d1 & "') a ON a.[所属机构] = {分支机构管理}.[所属机构] where 经营状态='正常'


图片点击可在新窗口打开查看此主题相关图片如下:生存的统计表.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/8/29 9:08:49编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/8/29 11:27:00 [显示全部帖子]

中标统计管理   表  的数据是根据:分支机构管理 表,中标统计  表 来生成的查询表。

 

S  elect DISTINCT {分支机构管理}.所属机构,经营状态,承包合同_起始日期,承包合同_到期日期,项目名称,中标日期,中标金额,dateadd(yyyy,datediff(yyyy,承包合同_起始日期,中标日期),承包合同_起始日期) as 统计年份,(case when 中标日期 > dateadd(yyyy,datediff(yyyy,承包合同_起始日期,中标日期),承包合同_起始日期) then datediff(yyyy,承包合同_起始日期,中标日期) + year(承包合同_起始日期) else datediff(yyyy,承包合同_起始日期,中标日期) + year(承包合同_起始日期) -1 end)as 所属年度 From {分支机构管理} Inner JOIN {中标统计} ON {中标统计}.[所属机构] = {分支机构管理}.[所属机构] where [经营状态] = '正常'","据",True)

 

所属机构,经营状态,承包合同_起始日期,承包合同_到期日期,  属于 {分支机构管理}表

项目名称,中标日期,中标金额,  属于 {中标统计}表

现在生的查询结果如下图:


图片点击可在新窗口打开查看此主题相关图片如下:生存的统计表.png
图片点击可在新窗口打开查看

 

要的效果如下:


图片点击可在新窗口打开查看此主题相关图片如下:生存的统计表 - 副本.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2019/8/29 11:30:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
cd_tdh
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:狐精 帖子:3082 积分:20596 威望:0 精华:0 注册:2016/3/28 16:57:00
  发帖心情 Post By:2019/8/29 12:31:00 [显示全部帖子]

通过:经营状态和承包合同_起始日期,承包合同_到期日期。

 回到顶部