GVKun编程网logo

如何在iReport中使用SQL查询同一项目的多个SUM

12

在本文中,我们将为您详细介绍如何在iReport中使用SQL查询同一项目的多个SUM的相关知识,此外,我们还会提供一些关于C#中的多个SQL查询返回变量作为列、java–如何在iReport中的现有b

在本文中,我们将为您详细介绍如何在iReport中使用SQL查询同一项目的多个SUM的相关知识,此外,我们还会提供一些关于C#中的多个SQL查询返回变量作为列、java – 如何在iReport中的现有band之间插入细节带?、mysql-如何在一个sql查询中计算来自多个表的行、mysql查询同一个字段下,不同内容的语句的有用信息。

本文目录一览:

如何在iReport中使用SQL查询同一项目的多个SUM

如何在iReport中使用SQL查询同一项目的多个SUM

  • 我正在使用iReport创建JasperReport,因此,我仅限于*一个SQL查询。

  • 我有一个表“ statistics”,其中有一个“名称”(VARCHAR),“计数”(INTEGER)和“日期时间”(DATETIME)列。

  • 当“名称”在最后一天(同样是最后一周和一个月)进行“测试”时,获取“计数”列的总和非常简单。

工作的SQL语句:

SELECT  SUM(count)as ''today''FROM  statisticsWHERE   name = "test"  AND $P{oneDayAgo} <= datetime  AND datetime <= $P{now}
  • 但是,由于我只有一个SQL语句可以使用,因此我需要以某种方式组合它们。我尝试使用UNION(如下所示),但是没有用。

SQL语句失败: ``

SELECT     SUM(count)as ''today''FROM     statisticsWHERE     name = "test" AND $P{oneDayAgo} <= datetime AND datetime <= $P{now}UNIONSELECT     SUM(count)as ''thisWeek''FROM     statisticsWHERE     name = "test" AND $P{oneWeekAgo} <= datetime AND datetime <= $P{now}UNIONSELECT     SUM(count)as ''thisMonth''FROM     statisticsWHERE     name = "test" AND $P{oneMonthAgo} <= datetime AND datetime <= $P{now}

(*)只能为图形或交叉表添加其他查询,而这两个查询都不符合我的目的。

答案1

小编典典

sum(当-condition-然后计数else 0结束的情况)

SELECT  SUM(case when $P{oneDayAgo} <= datetime then count else 0 end) as ''today'',  SUM(case when $P{oneWeekAgo} <= datetime then count else 0 end) as ''thisweek'',  SUM(count) as ''thismonth''FROM  statisticsWHERE   name = "test"  AND $P{oneMonthAgo} <= datetime  AND datetime <= $P{now}

请注意,如果需要平均值,请确保将NULL替换为0。

C#中的多个SQL查询返回变量作为列

C#中的多个SQL查询返回变量作为列

我正在一个学校项目中创建注册系统。我选择的数据库方式是使用T-SQL,因为这已经为我所熟悉。

我正在使用以下代码查询数据库

    public void button3_Click(object sender,EventArgs e)
    {
        string StudentID = (textBox1.Text);
        string queryDOB = "SELECT DOB,LastName,Degree FROM Student Where StudentID = " + StudentID;

        SqlConnection con = new SqlConnection(Properties.Settings.Default.SRSConnectionString);
        con.Open();

        SqlCommand DOB = new SqlCommand(queryDOB,con);

        SqlDataReader stidreader = DOB.ExecuteReader();

        if (stidreader.Read())
        {
            textBox2.Text = stidreader["DOB"].ToString();
            textBox3.Text = stidreader["LastName"].ToString();
            textBox5.Text = stidreader["Degree"].ToString();
        }
        else
        {
            MessageBox.Show("Your ID is not recognised. Please try again.");
            textBox1.Clear();
            textBox2.Clear();
            textBox3.Clear();
            textBox5.Clear();
        }

        con.Close();
    }

    private void textBox5_TextChanged(object sender,EventArgs e)
    {
        string Degree = textBox5.Text;
        string degsql = "SELECT ModName FROM Module Where Degree = " + Degree;
        SqlConnection con = new SqlConnection(Properties.Settings.Default.SRSConnectionString);
        DataSet dsm = new DataSet();
        SqlDataAdapter connect = new SqlDataAdapter(degsql,con);

        con.Open();

        connect.Fill(dsm);
        this.listBox2.DataSource = dsm.Tables[0];
        this.listBox2.DisplayMember = "ModName";
}

单击按钮的第一部分效果很好,但是当我在下一个事件(文本框更改)中运行查询时,查询返回一条错误消息,指出已找到无效的列。好吧,找到的列是它应该用于查询的变量,而不是非常混乱的列本身。

我知道MARS可能存在问题,但DB似乎是正确的版本。

谁能阐明任何想法?

java – 如何在iReport中的现有band之间插入细节带?

java – 如何在iReport中的现有band之间插入细节带?

简单的问题.如何在iReport中的现有波段之间插入细节带?
例如,我有现状:

细节1

细节2

细节3

…我想在细节2和细节3之间添加另一个细节带.有什么简单的方法吗?

非常感谢.

编辑:我的意思是设计师/ XML视图.

解决方法

好的,我找到了解决方案.我切换到XML视图并复制了< band>之间的所有内容.和< / band>标签并放入所需的位置.很抱歉打扰.

mysql-如何在一个sql查询中计算来自多个表的行

mysql-如何在一个sql查询中计算来自多个表的行

我有一个问题,必须从多个表中获取行计数.

例如:

SELECT COUNT(*) FROM table1;
SELECT COUNT(*) FROM table1 where condition;
SELECT COUNT(*) FROM table2;
SELECT COUNT(*) FROM table3 where condition;
最佳答案
您可以使用UNION

SELECT COUNT(*) FROM table1
UNION
SELECT COUNT(*) FROM table1 where condition;
UNION
SELECT COUNT(*) FROM table2;
UNION
SELECT COUNT(*) FROM table3 where condition;

您可以添加额外的字段,以通过以下查询找到要获得的行

SELECT "COND-1" AS TITLE,COUNT(*) FROM table1
UNION
SELECT "COND-2" AS TITLE,COUNT(*) FROM table1 where condition;
UNION
SELECT "COND-3" AS TITLE,COUNT(*) FROM table2;
UNION
SELECT "COND-4" AS TITLE,COUNT(*) FROM table3 where condition;

mysql查询同一个字段下,不同内容的语句

mysql查询同一个字段下,不同内容的语句

太久没有用SQL语句都有些忘记了,今天工作中遇到了那就尝试记录一下吧

  1. 需求是这样的:想查询同一个字段下,两条指定了不同内容的其他的值

主要是要想到用where......in

语句:

  select * from jac_motorcade_vehicle where vin in (''VSN00001888888888'',''ZH201807090001002'',''ZHT00002000020026'')

语句:

 

    1. SELECT id ,organization , auto_terminal, car_number FROM car WHERE car_vin in (
      ''JD000123'',''J3023523'',''J8888888'',
      ''J8018895'',''J1033754'',''J1033755'',
      ''J1033756'',''J1033921'',''J1029009'',
      ''J1029238'');

 

我们今天的关于如何在iReport中使用SQL查询同一项目的多个SUM的分享就到这里,谢谢您的阅读,如果想了解更多关于C#中的多个SQL查询返回变量作为列、java – 如何在iReport中的现有band之间插入细节带?、mysql-如何在一个sql查询中计算来自多个表的行、mysql查询同一个字段下,不同内容的语句的相关信息,可以在本站进行搜索。

本文标签: