小编Jus*_*tin的帖子

在moodle中选择所有文件及其课程路径

我正在尝试编写一个查询来获取Moodle中课程文件的名称和路径,但似乎我永远无法做到这一点.以下是我现在所做的事情,对此的任何帮助都非常感谢:)

SELECT SOURCE file,
              course,
              contenthash path
FROM mdl_files
INNER JOIN mdl_context ON mdl_files.contextid = mdl_context.id
JOIN mdl_resource ON instanceid = mdl_resource.id
WHERE course=
    (SELECT id
     FROM mdl_course
     WHERE fullname="XXXX")
Run Code Online (Sandbox Code Playgroud)

sql moodle

2
推荐指数
1
解决办法
3642
查看次数

在mysql中分组之前对数据进行排序(order by)

我想将以下数据从sub_prd_id. 但在此之前,我需要max 的 订单数据created_at

我写了如下查询。

select * FROM prd_data group by sub_prd_id order by created_at desc
Run Code Online (Sandbox Code Playgroud)

但是这个查询没有返回我需要的。例如,根据以下数据,查询执行后,结果应如下所示,

id  name    sub_prd_id  created_at
4   Grape     10            2013-04-28 03:11:55
6   Banana    11            2013-04-28 03:23:14
7   Pineapple 12            2013-04-28 03:23:44
Run Code Online (Sandbox Code Playgroud)

这是带有数据的表结构。

id  name    sub_prd_id  created_at
2   Apple     10            2013-04-28 03:04:51
3   Orange    10            2013-04-28 03:08:19
4   Grape     10            2013-04-28 03:11:55
5   Mango     11            2013-04-28 03:22:48
6   Banana    11            2013-04-28 03:23:14
7   Pineapple 12            2013-04-28 03:23:44
Run Code Online (Sandbox Code Playgroud)

mysql group-by sql-order-by

2
推荐指数
1
解决办法
3647
查看次数

在Oracle中查找varchar的下一个id

我有一个varchar(50)行,它有一个唯一约束,我想得到一个新插入的下一个唯一编号但是有一个给定的前缀.

我的行看起来像这样:

ID (varchar)
00010001
00010002
00010003
00080001
Run Code Online (Sandbox Code Playgroud)

因此,如果我想从前缀"0001"获得下一个unqiue号码,那么它将是"00010004",但如果我希望它为前缀"0008",那么它将是"00080002".

此表中将有超过1百万个条目.有没有办法让Oracle 11执行相当快的这种操作?

我知道这个设置完全是疯了但这是我必须要处理的.我不能创建任何新表等.

oracle plsql

2
推荐指数
1
解决办法
631
查看次数

查询moodle中学生的分数和成绩

我试图通过查询获得学生的分数和成绩,但我无法计算出联接.这是非常复杂的数据库.有没有人以前做过?

下面的查询(由我自己修改的表)适用于某些学生,但不适用于其他学生,因此我需要一个具有原始表结构的正确的.

谢谢

我的错误查询

SELECT mdl_grade_items.id AS ItemID,
       mdl_course.shortname AS CourseShortname,
       mdl_grade_items.itemname AS ItemName,
       mdl_grade_items.grademax AS ItemGradeMax,
       mdl_grade_items.aggregationcoef AS ItemAggregation,
       mdl_grade_grades.finalgrade AS FinalGrade,
       mdl_user.username AS StudentID,
       mdl_user.id
FROM mdl_grade_items
  INNER JOIN mdl_grade_grades 
    ON mdl_grade_items.id = mdl_grade_grades.itemid
  INNER JOIN mdl_role_assignments 
    ON mdl_grade_grades.userid = mdl_role_assignments.userid 
    AND mdl_grade_items.courseid = mdl_role_assignments.mdlcourseid
  INNER JOIN mdl_course 
    ON mdl_course.id = mdl_grade_items.courseid
  INNER JOIN mdl_user 
    ON mdl_user.id = mdl_role_assignments.userid
WHERE mdl_grade_items.courseid = '2864' 
  AND mdl_user.username = '123456789'
Run Code Online (Sandbox Code Playgroud)

mysql moodle

1
推荐指数
1
解决办法
3966
查看次数

计算 SQL Server 2008 视图中跨列的特定值

我有以下数据:


   ID Column1 Column2 Column3 Column4 Column5
   001   A        C       D        A      B
   002   A        D       A        B      A
   003   B        K       Q        C      Q
   004   A        K       E        E      B
Run Code Online (Sandbox Code Playgroud)

我想在视图中创建一个新列,该列给出每行 5 个源列中“A”的计数。结果应该是这样的:

    ID Column1 Column2 Column3 Column4 Column5  SumOfA
    001   A        C       D        A      B       2
    002   A        D       A        B      A       3
    003   B        K       Q        C      Q       0
    004   A        K       E        E      B       1
Run Code Online (Sandbox Code Playgroud)

我在这里看到了几个示例,但它们返回跨记录的“A”实例 - 我想要跨列的“A”计数,而不是跨行聚合。有什么想法吗?

t-sql sql-server view count sql-server-2008-r2

1
推荐指数
1
解决办法
6642
查看次数

找到双记录

我有以下结构:

TradeNo | OrderNo | Buy_Sell | 
1001        2001     Buy
1002        2002     Buy
1001        2001     Sell    
Run Code Online (Sandbox Code Playgroud)

在这个特殊的结构中,我想找出TradeNo和OrderNo的独特组合的双重记录.

我尝试了以下查询:

SELECT t1.tradeno,
       t1.orderno,
       t2.tradeno,
       t2.orderno,
       t1.Buy_sell,
       t2.Buy_sell
FROM tradeFile t1,
     tradeFile t2
WHERE t1.TradeNo=t2.TradeNo
  AND t1.Orderno=t2.orderno
Run Code Online (Sandbox Code Playgroud)

这个查询,返回我的两份单记录.但我想重复记录.如上表所示,第一和第二记录以tradeno和orderno的唯一组合重复,如[1001和2001].

请帮帮我.

c# sql database join

1
推荐指数
1
解决办法
71
查看次数

如何在同一个表中交换相同列的值

我想知道如何在一个查询中在同一个表中交换同一列的值.

例如,Table如下所示.

  SerialNo         Status
      1           Married
      2           Single
      3           Married
Run Code Online (Sandbox Code Playgroud)

现在,结果我想要的是"结婚"应该转换成单身,"单身"应该转换成结婚.

预期:

  SerialNo         Status
      1           Single
      2           Married
      3           Single
Run Code Online (Sandbox Code Playgroud)

这应该只在一个查询中完成.是否可以使用单个查询执行此操作?如果有,请帮助我.

提前致谢.

sql self-join

1
推荐指数
1
解决办法
2783
查看次数

使用'only'一种代码检索id

表格样本:

ID     Code
2324    1
2324    2
2325    1
2326    1
2326    2
Run Code Online (Sandbox Code Playgroud)

我想得到只有代码'1'而不是代码'2'的id,所以结果就是

2325    1
Run Code Online (Sandbox Code Playgroud)

由于其他人有代码1和2

我试过了

SELECT * FROM TABLE
WHERE CODE != 1 AND CODE = 2
Run Code Online (Sandbox Code Playgroud)

但是这只返回代码2的任何id,无论id是否也有代码1

sql sql-server

1
推荐指数
1
解决办法
76
查看次数

SQL如何将数字(整数)转换为日期?

我正在使用小型商业软件并导入到SQL Server.但有数字:

75739
76910
73105
75821
75245
75605
77169
73265
75611
74073
77012
Run Code Online (Sandbox Code Playgroud)

这代表我想的日期.

如何将这些数字转换为日期YYYY-MM-DDYYYYMMDD

sql t-sql sql-server sql-server-2008-r2

-6
推荐指数
1
解决办法
2万
查看次数